個人的備忘録

調べたり思いついたりした事の置き場

2016-03-01から1ヶ月間の記事一覧

BinaryWriter/Readerとエンディアン変換

.Net FrameworkのBinaryWriter/Readerはビッグエンディアンに対応していない。 ので、ビッグエンディアンを扱う場合はこんな感じで書いていた。 static void Main(string[] args) { using (var stream = new MemoryStream()) using (var writer = new Binary…

Fody.Costuraを利用して複数のアセンブリをまとめ、単一の実行ファイルを作成する

これまで、複数のアセンブリをまとめる場合MicrosoftのILMergeを利用していた。 https://www.microsoft.com/en-us/download/details.aspx?id=17630 ILMergeはコマンドラインツールなので、プロジェクトのビルド後のイベントに実行コマンドを記述して利用して…

独自SynchronizationContextの実装

独自のスレッドでasync/awaitしたかったので、SynchronizationContextを実装する。 class SingleThreadSynchronizationContext : SynchronizationContext { BlockingCollection<Action> queue = new BlockingCollection<Action>(); Thread thread; public SingleThreadSynchr</action></action>…

Console.CancelKeyPressのバグ

.Net Frameworkのコンソールアプリケーションでは、Console.CancelKeyPressイベントにハンドラを登録することでCtrl+Cが押された時の動作をハンドルできる。 そのままプログラムを終了させたくない場合はConsoleCancelEventArgs.Cancelにtrueを設定する。 Co…