2010-01-26 16 views

Respuesta

57

Sé que estás buscando algo que de alguna manera convierta C# directamente a PowerShell, pero pensé que esto era lo suficientemente cercano para sugerirlo.

En v1 PS puedes utilizado un DLL .NET compilado

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

En PS v2 puede agregar código C# directamente en PowerShell y utilizarlo sin informará de la conversión usando Add-Type (copiado directamente de 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

¿Puedo usar mis bibliotecas personalizadas C# con helpers y utils class? – Kiquenet

+1

@JamesProgran ¿Qué tan eficiente es este tipo de código? –

1

Adam Discroll tiene created un convertidor basado en Roslyn, e incluso proporciona un online code converter - parece que funciona para los scripts simples, pero tiene problemas con iE miembros estáticos o clases.

+0

Hola Akos, este parece ser un proyecto muy interesante. ¡Gracias por compartirlo! – MagicAndi

+0

Ese convertidor de código no parece manejar el código anterior, y su rastreador de problemas está lleno de quejas similares, algunas con código de nivel de libro de texto. – YetAnotherRandomUser

Cuestiones relacionadas