delegate

下記はキャンセル。

C#のdelegeteをCの知識を使ってわかりやすく表現してみてください。structとclassの対比を交えながら、という線を希望します。良質な回答が2、3あれば閉めようと思います。開く回答数がどれくらいになるのかは決めていません。駄目なものには一切ポイントをつけませんので、知らないけど検索して見ましたっていうのはこのはてな質問には一切不要です。

開きはじめるのは2時間程度後にする予定です。

この質問に対して、id:cx20さんが回答して下さろうとしていたものを、わざわざコメント欄に入れてくださった。

# cx20 『質問がキャンセルされてしまったので、こちらに・・・。
C# 歴 2ヶ月程度なので、あまり自信はありませんが、
C#delegate は、C/C++ で言うところの関数ポインタのようなものと考えて良いと思います。
↓ 下記は C++delegate を説明した例です。
http://www.codeproject.com/cpp/delegates_std.asp
C# での主な使われ方としては、イベントハンドラ関数を登録するのに用いられます。
this.button1.Click += new System.EventHandler(this.button1_Click);
詳しくは、↓ このあたりが参考になるのでは?と思います。
■ 宇宙仮面の C# プログラミング / デリゲートって何?
http://ukamen.hp.infoseek.co.jp/Programming/Delegate/
C#入門 / デリゲート
http://wisdom.sakura.ne.jp/programming/cs/cs54.html
■ 連載:C#入門 第17回 処理を委譲するdelegate
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_017/csharp_abc01.html

大変ありがとうございます。後日、暇をみて、仮想的にこの回答に対する質問者コメントを書こうと思います。イベントハンドラにIterfaceを用いるのと何がどう違うのか、というあたりに対して明確にしたいと思っています。