ポイントはConfigurationSection、ConfigurationElement、ConfigurationElementCollectionを継承したクラスでカスタム構成セクションを読み込む下地を作ります。あとはConfigurationManagerを使って呼び出すだけです。
http://blogs.wankuma.com/tatsumihr/articles/79793.aspx
参考:
MSDN:方法 : ConfigurationSection を使用してカスタム構成セクションを作成する
http://msdn2.microsoft.com/ja-jp/library/2tw134k3(vs.80).aspx
StackTrace st = new StackTrace(true); foreach (StackFrame f in st.GetFrames()) { System.Windows.Forms.MessageBox.Show(f.GetFileColumnNumber() + "-" + f.GetMethod()); }
http://msdn.microsoft.com/ja-jp/library/ms228984.aspx app.config によって、作成することが可能です。
HKEY_CURRENT_USER へのアクセスは管理者権限が要りません。
HKEY_LOCAL_MACHINE へのアクセスは管理者権限が要ます。
名前は、System.Runtime.Serialization.JSON.DataContractJsonSerializerなのに、System.Runtime.Serialization.JSONパッケージに入っていない。
DataContractJsonSerializer クラス
名前空間 : System.Runtime.Serialization.Json
アセンブリ : System.ServiceModel.Web (System.ServiceModel.Web.dll 内)
Stream sr = new MemoryStream(byteData); StreamReader sss = new StreamReader(sr); string result = sss.ReadToEnd();
よりいいINotifyPropertyChangedインターフェイスの実装
public event PropertyChangedEventHandler PropertyChanged; protected void ValidateProperty(string memberName, object value) { if (!string.IsNullOrEmpty(memberName) && value != null) { if (value is string) value = value.ToString().Trim(); Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = memberName }); } } protected void RaisePropertyChanged(string propertyName) { if ((this.PropertyChanged != null)) { PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); } }
並列処理でDataTableの行を列挙する例
Parallel.ForEach<DataRow>(dt.rows.Cast<DataRow>(), de=> { //何かの処理 });
コメント: