CSharp概念?
可重新分发的框架?
タイトル | 閲覧 |
文字列とバイナリデータ | CSharp0001? |
半透明の画像を表示する方法 | CSharp0002? |
MessageBoxをオーナーウィンドウの中央に配置する方法 | CSharp0003? |
C# 插件构架实战 | CSharp0004? |
ポイントは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
string path = System.Windows.Forms.Application.StartupPath; MessageBox.Show(path);
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 によって、作成することが可能です。
//ユーザーのローカルApplication Dataフォルダのパスを取得 //Path.Combineメソッドを利用して、パスの結合することができる string path = Path.GetFullPath(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "..\\Temp"));
結果:
string path2 = Path.GetFullPath(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));
結果:
DateTime.IsLeapYear()メソッドで判断できる
HKEY_CURRENT_USER へのアクセスは管理者権限が要りません。
HKEY_LOCAL_MACHINE へのアクセスは管理者権限が要ます。
this.Invoke((MethodInvoker)delegate() { progressBar1.Maximum = 100; } );
名前は、System.Runtime.Serialization.JSON.DataContractJsonSerializerなのに、System.Runtime.Serialization.JSONパッケージに入っていない。
DataContractJsonSerializer クラス
名前空間 : System.Runtime.Serialization.Json
アセンブリ : System.ServiceModel.Web (System.ServiceModel.Web.dll 内)
stringクラスのformatメソッドを利用
int val = 10000; Console.WriteLine(string.Format("{0:N0}", val));//第二引数は string 型に宣言すると、変換できません。
(抜粋)
[assembly: InternalsVisibleTo("TestClassLibrary1")]
(参考URL)
http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_07/csharp20_07_03.html
C# の lock ステートメントはクリティカルセクションです。
class Clazz{ private static object syncobj = new object(); public void Func1(){ lock(syncobj){ // コード1 } } public void Func2(){ lock(syncobj){ // コード2 } } }
lock は上記のようにやれば、「コード1」を実行中に「コード2」が実行される事はありません、という使い方です。当然ですけど、まったく同じオブジェクトをロックしなければなりません。
(?i:{?(?<guid>([0-9A-Z]{8}(-?)[0-9A-Z]{4}\2[0-9A-Z]{4}\2[0-9A-Z]{4}\2[0-9A-Z]{12}))}?)
下記のような形式のGUIDをマッチできます。
{020cac21-6dcb-4d0e-ae79-86982cf3ad90} {020cac216dcb4d0eae7986982cf3ad90} 020cac21-6dcb-4d0e-ae79-86982cf3ad90 020cac216dcb4d0eae7986982cf3ad90
e[NȂECir Yahoo yV LINEf[^[Ōz500~`I
z[y[W ̃NWbgJ[h COiq@COsیI COze