C#言語仕様の確認 プラットフォームセクションと言語セクション
下からみていく
プラットフォームセクション
リフレクション補足
相互運用性
COM 相互運用性 - 第 1 部 : C# クライアント チュートリアル (C#)
例外処理(try cahtch)
コレクション(配列に毛が生えたていど?
属性
アプリケーションドメイン
アプリケーション ドメイン (C# および Visual Basic)
言語セクション
XMLドキュメントコメント
XML ドキュメント コメント (C# プログラミング ガイド)
デリゲート
イベント
C#のイベント機能: .NET Tips: C#, VB.NET
次に5秒停止後イベントが発生するようにしてみる。このときイベントが発生するだけで何もデータを返さないものとする。
public class SleepClass { // データを持たないイベントデリゲートの宣言 //ここでは"Time"というイベントデリゲートを宣言する public event EventHandler Time; public void Start() { System.Threading.Thread.Sleep(5000); if (Time != null) { //"Time"イベントの発生 Time(this, EventArgs.Empty); } } }イベントを受け取る側では次のように宣言する。ここではbutton1_ClickイベントによりSleepClassクラスのStartメソッドを呼び出し、イベント「Time」が発生するとSleepClass_Timeが呼び出され実行される。
private void button1_Click(object sender, System.EventArgs e) { SleepClass clsSleep = new SleepClass(); //イベントハンドラの追加 clsSleep.Time += new EventHandler(this.SleepClass_Time); clsSleep.Start(); } private void SleepClass_Time(object sender, System.EventArgs e) { //イベントが発生したとき MessageBox.Show("OK!"); }ここでEventHandlerやEventArgsとは一体なんだろうという疑問が湧くだろうが、ここではあえてこれらの説明を省き、「こういうもの」としておこう。
あとはいらんな
見ればだいたい分かる感じ