C#の覚書 【W:73.2kg】

■意識していなかった命名規則覚書


・DLLの名前は、次のパターンに従う。.、ここで、Companyは企業名、Componentはコンポーネントを表す。複数のコンポーネントを指定する場合は、ドットで区切る。


・DLLの名前は、名前空間の名前に従うのが妥当。名前空間名は、次のパターンに従う。.(|)[.][.]、ここで、Productはバージョンに依存しない製品名、Technologyはテクノロジ名、Featureは機能を表す。


・派生クラスの名前は、末尾に基本クラスの名前を付けるよう考慮する。例えば、Stream、Exception、EventArgsなど。


・カスタムの属性クラスには、サフィックス Attribute を追加する。


・イベント ハンドラ (イベントの型として使用されるデリゲート) の名前には、EventHandler というサフィックスを追加する。


・イベント ハンドラではないデリゲートの名前には、サフィックス Callback を追加する。


・デリゲートにサフィックス Delegate を追加しない。


・ほとんどのEnum型には単数形の名前を使用するが、ビットフィールドであるEnum型には複数形の名前を使用する。


・静的フィールド名には、名詞または名詞句を使用する。


・プロパティには、その型と同じ名前をつけることができる。例えば、CacheLevel という名前の列挙型がある場合、その値を返すプロパティにもCacheLevel という名前を付けることができる。


・イベント名に前後の概念を与えるには、現在形と過去形を使用する。例えば、 Closing と Closed。


・プレイベントやポストイベントを表すために、Before または After というプリフィックスやサフィックスを使用しない。


・イベント ハンドラ シグネチャには、sender および e という名前の 2 つのパラメータを使用する。


■列挙型の値から、列挙型を取得


enum DataLevel{Low=0,Middle,High}
Type type = typeof(DataLevel);
DataLevel dataLevel = (DataLevel)Enum.Parse(type, "1", true);


sandcastleに出力しない方法


///
を追加。


■インテリセンスに表示しない方法


[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
を追加。