アーカイブ

Archive for the ‘ストアアプリ’ Category

ストアアプリに含まれる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#やるとおろおろする。

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