0
當通過HttpWebRequest.Create(URL)使用HttpWebRequest的是有比下面通過使用對象初始化初始化HttpWebRequest的更簡單的方法:HttpWebRequest的集合初始化C#
class RequestLight
{
public HttpWebRequest WebRequestObj;
public RequestLight(string url)
{
WebRequestObj = HttpWebRequest.CreateHttp(url);
}
}
現在,這可以像這樣被使用(對象初始值設定程序對webreq對象的預期效果)
var obj = new RequestLight("http://google.com")
{ WebRequestObj = { CookieContainer = null } }.WebRequestObj;
我錯過了什麼嗎?或者這是獲得理想效果的最簡單方法?
注意:使用您必須設置的原始方式通過靜態方法創建對象,然後逐個分配每個屬性。
您的意思是一個對象初始值設定項,而不是一個集合初始值設定項。但不清楚爲什麼你首先獲得了「RequestLight」。爲什麼不只是有兩個陳述? 'var request = HttpWebRequest.CreateHttp(url); request.CookieContainer = null;' – 2014-10-09 20:35:33
是的,我的意思是對象初始值設定項。這是爲了方便(並且對象初始化器處理起來要乾淨得多)。所有構建的應用程序和工具都會分析Web屬性,因此需要以最佳方式初始化請求。 – Curtis 2014-10-10 02:46:05
對象初始值設定器處理*是否更清晰,如果您處於必須在單個表達式中執行操作的情況。但是,如果它是一個普通的局部變量,那麼我認爲你得到的語法明顯比不兩個語句更方便。我的答案中的建議不太模糊,我認爲(和更普遍),但在大多數情況下,我可能仍會使用兩個語句。 – 2014-10-10 08:57:57