申し訳ありませんが、私は次のコードを持っています:(私の本からコピー)。代理人の質問 - 基本
class MyDelegate
{
public delegate void Func(string s);
public void Show(string s)
{
Console.WriteLine("In MyD1: " + s);
}
}
class Test
{
static void Show(string s)
{
Console.WriteLine("In test: " + s);
}
static void Main(string[] args)
{
MyDelegate md = new MyDelegate();
MyDelegate.Func f= new MyDelegate.Func(md.Show);
MyDelegate.Func f1= new MyDelegate.Func(Show);
f("hello");
f1("Hello");
f1 = f;
f1("world");
}
}
出力は次のようになります。出力の最後の行が「InMyD1」である理由In MyD1: hello In TestShow Hello InMyD1: world
は今、私は理解していませんでした。f1デリゲートが呼び出され、fではないためです。
ありがとうございます。
の世界を持っている理由FザッツにF1を設定します。また、通常、あなたのコードとあなたの出力同期を持っているのは良い習慣です。出力に 'TestShow'がありますが、あなたのコードには含まれていません。 – Snowbear