.NET
FileStream.Handle が Obsolete 属性が付いてた。 いつの間にって思ったけど2.0からかわったみたい。んで代わりに使用するのが SafeFileHandle。 http://msdn.microsoft.com/ja-jp/library/microsoft.win32.safehandles.safefilehandle.aspxこんなのあったん…
所属ドメコンで権限がある場合。 所属ドメコン内のオブジェクトを列挙。 参照設定:Com の「Active DS Type Library」と「System.DirectoryServices」が必要。 static void Main( string[] args ) { try { DirectoryEntry rootEntry = new DirectoryEntry( "…
構造体にインターフェイスってあんまりやらなかったんだけど。 振る舞いに対してはつけるもんなんだな。でもそれを間違ってプロパティにしてしまうとボクシングも絡み嫌な感じに。 static void Main( string[] args ) { IA a = new A(); IA b = a; a.Bl = 1;…
必要な設定が分散してるのでいろいろ迷う。なんで覚えてるうちにメモ。 サービスインストーラーの作り方。 サービスプロジェクト(A)を作る。 サービスのデザイナのプロパティ(もしくは右クリック)からインストーラーの追加を選択。 サービス用のインストー…
死ぬほどめんどい。なんで WMI はスクリプトなんだ。インテリセンスきかねーじゃねーか。 というわけでいろいろ手抜き。してもめんどい。 /// <summary> /// ProcessResourceInfo クラス。 /// </summary> public class ProcessResourceInfo : IDisposable { private readonly i…
というわけで Serializer つくってみた。 /// <summary> /// Serializer クラス。 /// </summary> public class Serializer<T> { public T Deserialize( string filePath ) { using (var stream = File.Open( filePath, FileMode.Open )) { using (XmlDictionaryReader reader = Xm</t>…
ある程度の大きさを持ったオブジェクトをシリアライズしてみた。 System.Runtime.Serialization.SerializationException:内部配列を Int32.MaxValue 要素を超えて展開することはできません。 えっ!?相変わらず意味不明のエラー吐きやがる。 途中まで作られ…
なんか前にオープンするサンプル作ったんだけど。 あれでは開放が不十分らしい。 以下要点。 ReleaseComObject での開放が必要。 Excel.Range の開放も必要。 他 App, Books, Book, Sheets, Sheet も なんか全部ラップして本体は触らせないようにさせるくら…
ちょっと話題に出た+忘れかけてたので再確認してみた。参考 トランザクション スコープを使用した暗黙的なトランザクションの実装 とか。 static void Main( string[] args ) { TranTest test = new TranTest(); test.TestExecute(); Console.WriteLine( "-…
そういや、xp あたりからエスケープシーケンスがデフォルトでは使えないんだっけ、とか思いつつ。 (NT以降の32BitのWindowsらしい)Console クラスは static だったので拡張できず残念。 出来るように言語拡張してくれないかな。 public static void ConsoleW…
エクセルを読み込む。(未テスト)Openで全部の引数指定とかめんどいからクラス作ってみた。 ついでなんでちょっと機能拡張。まずは参照設定。 COM のタグから。 Microsoft Excel 11.0 Object Library WorkbookHelper /// <summary> /// ワークブックを簡易に扱えるラ</summary>…
キャッシュみたいな。ずっと持ってるとリソース的に負荷が高いものは弱い参照が有効。 static readonly Dictionary<string, WeakReference> _cache = new Dictionary<string, WeakReference>(); static object GetValue( string key ) { if ( !_cache.ContainsKey( key ) ) { _cache[key] = new WeakReferen</string,></string,>…
NTP 64ビットタイムスタンプフォーマットを DateTime に変換。 /// <summary> /// NTP 64ビットタイムスタンプ形式から DateTime に変換します。 /// </summary> /// <param name="ntpTimeStamp">NTP 64ビットタイムスタンプ。</param> /// <returns></returns> static private DateTime NtpTimeStampToDateTime( long ntpTimeStamp ) {…
ReadOnlyCollectionが有効。 public class ReadOnlyCollection<T> : ReadOnlyCollectionBase { public ReadOnlyCollection( IList<T> sourceList ) { InnerList.AddRange( (ICollection)sourceList ); } public T this[int index] { get { return (T)InnerList[ind</t></t>…
CLIのソース。 Shared Source Common Language Infrastructure 2.0 http://www.microsoft.com/downloads/details.aspx?FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d&DisplayLang=enこれなんだけど。VS2008ではこいつをそのまま動かせないわけで。 http://…
送信パケットの最大サイズ。 http://msdn.microsoft.com/ja-jp/library/system.net.networkinformation.ipv4interfaceproperties.mtu.aspx要はパケットを送る際はこの値に注意ってことだな。 そこまで考えるシステムって限られるけど。受信は MRU というらし…
DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll' は、OS ローダー ロック内でマネージ実行を試行しています。 DllMain またはイメージ初期化関数内でマネージ コードを実行しないでください。この動作…
確実に信頼できるコードはステップ実行で追ってくのがめんどい。 DebuggerStepThrough 属性を使用 [DebuggerStepThrough] void StepThrough() { // ステップ実行でもとまらない。 } いざ使うときに忘れるんだよな。
TimeSpan span = new TimeSpan( stopwatch.ElapsedTicks );値がおかしかった。Stopwatch.ElapsedTicks プロパティ メモ : Stopwatch タイマ刻みは、DateTime.Ticks とは異なります。DateTime.Ticks 値の各タイマ刻みは、100 ナノ秒間隔を表します。ElapsedTi…
IDisposeよく使うけどいつも書くのめんどいので。 コードスニペットについては IntelliSense コード スニペットの作成と使用 あたり参照 <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title> Dispose pattern </Title> <Shortcut>dispose</Shortcut> </header></codesnippet></codesnippets>
ファイルがアセンブリであるかどうかを確認する。 >ファイルがアセンブリであるかどうかをプログラムによって確認するには >GetAssemblyName メソッドを呼び出し、テストするファイルの完全パスと名前を渡します。 >BadImageFormatException 例外がスローさ…
WMIで書き直してみた。ユーザ認証も含んでる。こっちのほうが断然短い。 /// <summary> /// 指定されたサーバの共有フォルダ一覧を取得します。 /// </summary> /// <param name="serverPaht">サーバ名。</param> /// <param name="user">接続ユーザ名。</param> /// <param name="password">接続パスワード。</param> /// <returns>取得された共有フォルダの一覧。</returns> public static List<string></string>…
デザインモード時は devenv.exe から呼び出されるアセンブリで判断。true でデザイン。(8.58) Assembly.GetCallingAssembly().GetType(this.GetType().ToString()) == null false でデザイン。(5.02 * 100) Assembly.GetCallingAssembly().GetTypes()[0].Equ…
ついでに using( MemoryStream ms = new MemoryStream() ) { using( StreamWriter sw = new StreamWriter( ms ) ) { Console.SetOut( sw ); // sw にリダイレクト Console.Write( "hoge" ); // 以下はおまけ sw 使って適当に。 sw.Flush(); ms.Position = 0;…
標準エラー出力に出力する。 Console.Error.WriteLine( "Error!!" ); Console.Error.Close(); Close は要るのだろうか。要らない気もするが。 でも、Cosole クラスでなくて Console.Error は TextWriter だからなー。
Oracle で Entity Framework http://blogs.msdn.com/jkowalski/archive/2008/10/24/using-ef-oracle-sample-provider-with-edm-designer.aspxもうあるのかと思ったらまだサンプルだった。
client -> service設定とクラスの紐付き方■server の場合 クラス - service.name - service - endpoint(内包) service - service.behaviorConfiguration - behavior.name ■client の場合 クラス(サービス参照.interface) - endpoint.contract endpoint - e…
/// <summary> /// お手軽非同期 /// </summary> public class EasyAsync { /// <summary> /// 終了イベント /// </summary> static public event EventHandler Finished; /// <summary> /// 開始イベント /// </summary> static public event EventHandler Starting; /// <summary> /// 指定されたメソッドを非同期で実行します</summary>…
sandcastle コメントからドキュメント作成 http://blogs.msdn.com/sandcastle/default.aspx http://sandcastle.codeplex.com/ Sandcastle Help File Builder http://www.codeplex.com/SHFB
http://msdn.microsoft.com/en-us/vsx/bb980955.aspx http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package(VS.80).aspx