2010-01-26 55 views

回答

57

我知道你正在尋找某種方式將C#直接轉換爲PowerShell,但我認爲這足夠接近它的建議。

在PS V1,你可以使用編譯.NET的DLL

PS> $client = new-object System.Net.Sockets.TcpClient 
PS> $client.Connect($address, $port) 

在PS V2您可以添加的C#代碼直接進入PowerShell和使用它,而「轉換」使用添加型(從msdn直抄)

C:\PS>$source = @" 
public class BasicTest 
{ 
    public static int Add(int a, int b) 
    { 
     return (a + b); 
    } 

    public int Multiply(int a, int b) 
    { 
     return (a * b); 
    } 
} 
"@ 

C:\PS> Add-Type -TypeDefinition $source 

C:\PS> [BasicTest]::Add(4, 3) 

C:\PS> $basicTestObject = New-Object BasicTest 
C:\PS> $basicTestObject.Multiply(5, 2) 
+0

我可以使用我的自定義庫C#與助手和utils類嗎? – Kiquenet 2013-03-05 15:38:23

+1

@JamesProgran性能如何是這種類型的代碼? – 2014-01-10 11:59:35

1

亞當Discroll具有created基於羅斯林轉換器,他甚至提供了一個online code converter - 這似乎爲簡單的腳本工作,但與即靜止成員或類的問題。

+0

嗨阿科斯,這看起來是一個非常有趣的項目。感謝分享! – MagicAndi 2017-07-19 11:03:38

+0

這個代碼轉換器似乎沒有處理上面的代碼,它的問題跟蹤器充滿了類似的投訴,一些與教科書級別的代碼。 – YetAnotherRandomUser 2017-10-20 20:10:22