100day’s blog

思いついた事や、プログラミングの毎日の作業工程を短めにまとめてます。

C#言語仕様の確認 プラットフォームセクションと言語セクション

C# リファレンス

下からみていく

 

プラットフォームセクション

 

リフレクション補足

ufcpp.net

 

相互運用性

COM 相互運用性 - 第 1 部 : C# クライアント チュートリアル (C#)

 

ファイルシステム

例外処理(try cahtch)

コレクション(配列に毛が生えたていど?

 

属性

連載:C#入門 第20回 実行時に参照可能な属性

 

アセンブリ

qiita.com

 

アプリケーションドメイン

アプリケーション ドメイン (C# および Visual Basic)

 

言語セクション

 

XMLドキュメントコメント

XML ドキュメント コメント (C# プログラミング ガイド)

 

デリゲート

kan-kikuchi.hatenablog.com

 

 

イベント

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とは一体なんだろうという疑問が湧くだろうが、ここではあえてこれらの説明を省き、「こういうもの」としておこう。

 

インターフェイス

garicchi.hatenablog.jp

 

 

 

あとはいらんな

見ればだいたい分かる感じ