Kre*_*dns 45 c# powershell powershell-2.0
我对C#有一个很好的理解,对powershell有一个非常基本的了解.我正在使用Windows PowerShell CTP 3,这非常有趣.但我想超越编写脚本/函数.C#有什么很酷的东西吗?
Sco*_*ein 60
在最高级别,您有两个不同的选项您可以从C#程序主机PowerShell并通过RunSpaces和管道执行PowerShell命令.
或者您可以在PowerShell中运行C#代码.这可以通过两种方式完成.使用PowerShell管理单元,提供PowerShell cmdlet和导航提供程序的已编译dll,或通过新的cmdlet Add-Type,它允许您动态导入C#,VB,F#代码.从帮助
$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);
}
}
"@
Add-Type -TypeDefinition $source
[BasicTest]::Add(4, 3)
$basicTestObject = New-Object BasicTest
$basicTestObject.Multiply(5, 2)
Run Code Online (Sandbox Code Playgroud)
Jar*_*Par 34
我认为使用C#和PowerShell可以做的最有趣的事情就是构建CmdLet.这些本质上是PowerShell的插件,用托管代码编写,就像普通函数一样.它们有一个动词 - 名词对,你已经使用的许多函数实际上都是引擎盖下的cmdlet.
http://msdn.microsoft.com/en-us/magazine/cc163293.aspx
您可以通过以下两种方式之一来查看它:
在某种程度上,它们是完全不同的问题,具有不同的答案.
从C#开始,您可以利用PowerShell引擎,运行空间,管道等.与Exchante一样,您可以使用C#来执行所有GUI工作,然后调用PowerShell cmdlet来完成所有难题.如果您可以找到要利用的PowerShell cmdlet或脚本,则此选项是合适的.
在PowerShell中,您可以使用C#扩展在PowerShell中可以执行的操作.您可以创建cmdlts和提供程序以使其他人能够访问应用程序数据.或者,您可以创建可在PowerShell脚本中使用的对象.此选项可帮助您以更自动化的方式打开要管理的应用程序.
因此,根据您的目标,您可以选择.
归档时间: |
|
查看次数: |
53031 次 |
最近记录: |