アーカイブ

Posts Tagged ‘C#’

コーディングガイドライン for C# 3.0, 4.0, 5.0

尾崎さんが素晴らしい文書を翻訳してくれました。参考にさせてもらいます!!

aviva SolutionsのC#Coding Guidelinesという文書の日本語版がCodePlexで公開されています。。

コーディングガイドライン for C# 3.0, 4.0, 5.0

MSDNに、C#のコーディング規則クラスライブラリ開発のデザインガイドラインは公開されていますが、今回尾崎さんが翻訳された文書は、コーディング規約だけでなく、クラスの設計指針、Visual Studioを利用する場合の環境作成方法などを含め、aviva社内部で採用されているもので理にかなった規則が網羅されています。

C#を対象にしていますが、.NET Frameworkを対象としているので、VBで作成されるプログラムでもほぼそのまま採用できそうなガイドラインで、全ての.NETプログラマーが一度目を通すべきガイドラインになっています。

広告

ストアアプリに含まれるBindableBaseのOnPropertyChangeってプロパティー名渡す必要ないんだ。

遅まきながら、ストアアプリを作ろうかと思ったわけです。

こんなコードを書いたらReSharperが修正したほうがいいよ。と教えてくれた

無題  無題2e

えっ!?通知元名消しちゃっていいの?と思ってOnPropertyChangedの定義を見たら、

        /// <summary>
        /// プロパティ値が変更されたことをリスナーに通知します。
        /// </summary>
        /// <param name="propertyName">リスナーに通知するために使用するプロパティの名前。
        /// この値は省略可能で、
        /// <see cref="CallerMemberNameAttribute"/> をサポートするコンパイラから呼び出す場合に自動的に指定できます。</param>
        protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            var eventHandler = this.PropertyChanged;
            if (eventHandler != null)
            {
                eventHandler(this, new PropertyChangedEventArgs(propertyName));
            }
        }

あー、CallerMemberName属性が付与されているから、コードコメントのように呼び元と同じプロパティー名だったら省略可能なんだね。なるほどねー。久々にC#やるとおろおろする。

カテゴリー:ストアアプリ, プログラミング タグ: