Goy*_*uix 7 c# powershell webclient powershell-2.0
我正在尝试编译WebClient类的" cookie感知 "版本- 但我似乎无法克服使用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
Run Code Online (Sandbox Code Playgroud)
它似乎无法找到无法找到的CookieContainer类型(虽然它是完全合格的......) - 显然我对某些东西视而不见.
编辑:更新了示例代码以使其正确并且可以复制n-pasteable,谢谢!
CookieContainer对构造函数表达式的第二个引用是完全限定的.声明字段时的第一个引用m_container不是.让两者都完全合格,以便Powershell可以找到它们
private System.Net.CookieContainer m_container = new System.Net.CookieContainer();
Run Code Online (Sandbox Code Playgroud)