delegateにインスタンスメソッドと静的メソッドを登録する。
using System;
// delegateを定義
delegate void SampleDelegate(int a);
class SampleClass
{
// インスタンスメソッドを定義
public void sampleMethod(int n)
{
Console.WriteLine(n);
}
// 靜的メソッドを定義
public static void sampleMethod1(int n)
{
Console.WriteLine(n + 10);
}
}
class MainClass
{
public static void Main()
{
// SampleClassのインスタンス化
SampleClass s = new SampleClass();
// インスタンスメソッドを指定
SampleDelegate delegateVar = s.sampleMethod;
// 出力値:10
delegateVar(10);
// 靜的メソッドを指定
delegateVar = SampleClass.sampleMethod1;
// 出力値:20
delegateVar(10);
}
}
0 コメント:
コメントを投稿