FxCop、あるいはVisualStudio付属のコード分析で、厳しめの規則セットを使うと、以下のようなコードに対して警告が出る。
public class Person { public string[] Nicknames { get; private set; } ... }
CA1819 コレクションを返すために、またはメソッドに設定するために、'Person.Nicknames' を変更してください。続きを読む
FxCop、あるいはVisualStudio付属のコード分析で、厳しめの規則セットを使うと、以下のようなコードに対して警告が出る。
public class Person { public string[] Nicknames { get; private set; } ... }
CA1819 コレクションを返すために、またはメソッドに設定するために、'Person.Nicknames' を変更してください。続きを読む
ListBoxを配置して、適当に数値だけをメンバに持つオブジェクトをリストにして
ItemsSourceに格納します。
検証環境のビルドターゲットは.NET 4.0。
C#で、自前でイベントを発火させる際、
ハンドラが1つも登録されていない状態でInvokeしようとすると
NullReferenceExceptionになっちゃうんで、
Nullでないことを確認してから呼び出す必要があります。
public event PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string propertyName) { //nullでないことを確認してから if (PropertyChanged != null) { //発火 PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }
シングルスレッドで動くことがわかってる場合は
上のような書き方でも問題ないんだけども、
マルチスレッドで動く場合はちょいとまずい。
いま現在話題のトレンドワードをある程度リアルタイムでとれるAPI的なやつで
なんか手軽なのないかなと探してみたら、
kizasi.jpのサービスで「kizAPI(きざっぴ)」ってのがあった。
10個のスレッドを同時に走らせて並列処理したいとする。
まさか new Thread(...).Start() なんてやらないですよね。
LINQでasync/awaitだーってのもアリかもしれませんが、
素直にTaskを10個作ろうとすると↓こんな感じ。
WPF DataGridのレイアウト設定はとかく複雑でわやよ。
今回は行の高さ指定に関する話。
DataGridには行の高さを指定できるプロパティがいくつもあるので
その適用の優先順位とか知っておかないと、
設定してるのに変わってくれないぞ??ってハマることになる。
最近Visual Studio 2015 (Community)を使い始めて気づいた。
XMLドキュメントコメント内で型やメンバ名が補完されるようになってる。
これは地味に嬉しい。