可能性の重複:C#ので
What is Delegate?C#のデリゲートの質問
、デリゲートは、メソッド名とタイプ名の両方として見ることができます。私の理解は正しいのですか?
like "doShow [] items = new doShow [3];" dowShowは型名です。以下のような "doshow(新しいClass1の()....)" dosShowは、メソッド名である/
私はここにコードを読み取ることで、この結論を得る:
public class TestDelegate
{
// define a datatype as a method taking a string returning void
public delegate void doShow(String s);
public static void Main(string[] args)
{
// make an array of these methods
doShow[] items = new doShow[3];
items[0] = new doShow(new Class1().show);
items[1] = new doShow(new Class2().display);
items[2] = new doShow(Class3.staticDisplay);
// call all items the same way
for(int i = 0; i < items.Length; i++) {
items[i]("Hello World");
}
}
}
方法が記載されているタイプと考えます。実際の方法ではありません。デリゲートは、*メソッドが呼び出される(または匿名メソッド)と述べています。疎く言えば、強く型付けされた関数ポインタだと言えます。 – vcsjones
簡単に言えば、デリゲートをメソッドシグネチャのコンテナとして想定できます。あなたが呼び出したいメソッドへの目に見えないリンクのようなものです。 – AbrahamJP