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