2010-01-26 27 views

Trả lời

57

Tôi biết bạn đang tìm kiếm thứ gì đó bằng cách nào đó chuyển đổi C# trực tiếp sang PowerShell, nhưng tôi nghĩ điều này đủ gần để đề xuất nó.

Trong PS v1 bạn có thể sử dụng một NET dll biên soạn

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

Trong PS v2 bạn có thể thêm C# code trực tiếp vào PowerShell và sử dụng nó mà không cần 'chuyển đổi' Sử dụng Add-Type (sao chép trực tiếp từ 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

Tôi có thể sử dụng thư viện tùy chỉnh C# của mình với lớp người giúp việc và lớp học không? – Kiquenet

+1

@JamesProgran Biểu hiện của loại mã này như thế nào? –

1

Adam Discroll có created chuyển đổi Roslyn dựa trên, và ông thậm chí cung cấp một online code converter - đó dường như làm việc cho các kịch bản đơn giản, nhưng có vấn đề với nghĩa là các thành viên tĩnh hoặc các lớp học.

+0

Xin chào Akos, đây có vẻ là một dự án rất thú vị. Cảm ơn bạn đã chia sẻ nó! – MagicAndi

+0

Trình chuyển đổi mã đó dường như không xử lý mã ở trên và trình theo dõi vấn đề của nó có đầy đủ các khiếu nại tương tự, một số có mã cấp sách giáo khoa. – YetAnotherRandomUser

Các vấn đề liên quan