ひさしぶりにWindowds formsのプログラムをC#で作成中にコントロールにデータバインドをしようとしたら、ListBoxなど一部のコントロールでは<INotifyPropertyChangedを使った更新が …
Tag: c#
5月 11 2016
[WPF]DataGridをクリックしたセルの位置を調べる
C# WPF環境でDataGridをクリックした時のセル位置を求める。VisualTreeHelperを使ってDataGridCellとDataGridRowをたぐってcolumnとrowを調べる。formと違ってめんど …
4月 11 2016
MAPIのAppointmentItemにTimezoneを追加
MAPIでAppointmentを作る場合にTimeZoneの指定をする時のメモ。TimeZoneの元オブジェクトはApplication下にあるTimeZonesコレクションから参照する。 [crayon-60461d …
4月 02 2016
[C#]Enumの列挙子の名前を表す文字列をenum値に変換する
C#でEnumの列挙子の名前を表す文字列をenum値に変換する方法のメモ
1 2 3 4 5 6 7 |
enum Test { alpha, beta, gamma } Test ret; bool flag = Enum.TryParse<Test>("alpha", true, out ret); return ret; // == Test.alpha |
3月 31 2016
[C#]任意の型のインスタンスを作成
c#で任意の型TがType型の変数tで与えられている場合のインスタンスを作る場合の方法。またはその配列のインスタンスを作る方法のメモ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// 任意型tのインスタンスの作成 Type t = typeof(***); var tInst = Activator.CreateInstace(t); // 型tの配列t[]のインスタンスの作成 Type t = typeof(***); Type ta = Type.GetType(t.toString()+"[]"); Int num; var tInst = Activator.CreateInstace(ta, num); // または Type t; Int num; var tInst = Array.CreateInstace(t, num); // 追加 var tInst = Activator.CreateInstace(t.MakeArrayType(1), num); |