在PowerShell v2中编译新类型 – Cookie Aware WebClient

我正在尝试编译WebClient类的“ cookie aware ”版本 – 但我似乎无法克服使用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类型(尽管它完全合格……) – 显然我对某些东西视而不见。

编辑:更新了示例代码以使其正确并且可以复制n-pasteable,谢谢!

带有构造函数表达式的CookieContainer的第二个引用是完全限定的。 声明字段m_container时的第一个引用不是。 使两者都完全合格,以便Powershell可以找到它们

 private System.Net.CookieContainer m_container = new System.Net.CookieContainer();