using System;
// Delegateを宣言
delegate void Delegate();
class SampleClass
{
public void printOut1()
{
Console.WriteLine("Delegate1");
}
// 静的Method
public static void printOut2()
{
Console.WriteLine("Delegate2");
}
}
class MainClass
{
// パラメータがDelegate型の変数のMethod
static void printOut(Delegate del)
{
del();
}
static void Main()
{
// SampleClassをインスタンス化
SampleClass sample = new SampleClass();
/* パラメータにSampleClass型の
* インスタンスMethodを渡す
* (Delegate型の変数delにSampleClass型の
* インスタンスMethod printOut1を登録)
* 出力値:Delegate1 */
printOut(sample.printOut1);
/* パラメータにSampleClass型の
* 静的Methodを渡す
* (Delegate型の変数delにSampleClass型の
* 静的Method printOut2を登録)
* 出力値:Delegate2 */
printOut(SampleClass.printOut2);
}
}
0 コメント:
コメントを投稿