[PowerShell V2 CTP3]PowerShellでC#

by HIRO 1. 7月 2009 10:17

どうもご無沙汰しております。HIROです。 

今回は Add-Type コマンドレットを使用して、 PowerShellでC#のクラス直接利用する方法を紹介します。

Add-Type コマンドレットは V2 から搭載されるもので、他の言語のソースを直接PowerShell上で展開して使用できるようにします。

今回はC#のクラスをPowerShell上で文字列として定義し、利用してみたいと思います。

まずはヒア文字列を使用して変数 $source にC#のSampleClassを代入します。

PS> $source = @"
public class SampleClass{
    public static string GetHello(string Name)
    {
        return "Hello " + Name;
    }
    public string GetHello2(string Name)
    {
        return "Hello Hello" + Name;
    }
}
"@

このクラスに

このクラスには GetHelloとGetHello2の2つのメソッドがあります。

早速ですが、Add-Typeコマンドレットで、このクラスをPowerShellに登録しましょう。

Add-Type -TypeDefinition $Source

とします。

登録したクラスの利用ですがスタティックメソッドは

[クラス名]::メソッド

の書式で使用することができます。

Get-Helloメソッドは次のようにして使用できます。
(::と入力した後[Tab]キーを押すとタブ補完が働きます。)

PS> [SampleClass]::GetHello("HIRO")
Hello HIRO

次にstaticでないメソッドはインスタンスを作成してからでないと使用できません。

インスタンスの作成は New-Object コマンドレットを使用します。

PS> $sample = New-Object SampleClass

インスタンスを作成したら

PS> $sample.GetHello2("HIRO")
Hello Hello HIRO

のようにして、利用することができます。

Add-Typeコマンドレットで使用できる言語はC#だけではないので、次回は別の言語を取り上げたいと思います。

現在のレート 5.0 (2人)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell V2 CTP3 | コマンドレット

コメント

コメントを書く


 

  Country flag

biuquoteredbluegreenyellowPowerShellTextFile
  • コメント
  • プレビュー
Loading



Calendar

<<  3月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010 PowerShell from Japan!!