我正在尝试编译cookie aware类的“WebClient”版本 - 但我似乎无法克服使用PowerShell v2中添加的Add-Type cmdlet的一些障碍。这是我要编译的代码:
PS C:\> $def = @"
public class CookieAwareWebClient : System.Net.WebClient
{
private System.Net.CookieContainer m_container = new System.Net.CookieContainer();
protected override System.Net.WebRequest GetWebRequest(System.Uri address)
{
System.Net.WebRequest request = base.GetWebRequest(address);
if (request is System.Net.HttpWebRequest)
{
(request as System.Net.HttpWebRequest).CookieContainer = m_container;
}
return request;
}
}
"@
PS C:\> Add-Type -TypeDefinition $def
似乎无法找到无法找到的CookieContainer类型(尽管它完全合格......) - 显然我对某些事情视而不见。
修改:将示例代码更新为正确且可复制粘贴,谢谢!
答案 0 :(得分:5)
使用构造函数表达式对CookieContainer
的第二个引用是完全限定的。声明字段m_container
时的第一个引用不是。使两者都完全合格,以便Powershell可以找到它们
private System.Net.CookieContainer m_container = new System.Net.CookieContainer();