いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

C#

ドラッグ可能なPopup (Draggable Popup)

忘れないうちにメモメモ。 WPFのPopupは、手軽にポップアップ状態を実現できるので便利なのですが 基本このポップアップはWindowのようにマウスで位置を動かすことができません。 たまーにですが、動かしたいときがあります。 で、ネットで調べていると結構…

Xamarin Guideシリーズ(c-sharpcorner.comの連載)

まだ、全然読んでないのですが、最近立て続けに記事がアップされていたので、忘れないうちにメモメモ。後で読む。 Xamarin Guide 1: Create a Xamarin Forms Project Xamarin Guide 2: Create the Model and the Data Source Xamarin Guide 3: Create the Se…

アセンブリのバージョンからビルド日時を求める (Assembly, System.Version, Build, Revision, 自動インクリメント)

最近知ったことなんですが、忘れないうちにメモメモ。 VisualStudioでプロジェクトを作ると、Propertiesというツリーノードの下にAssemblyInfo.csというファイルが追加されます。このファイルの中には、アセンブリに関する設定が記述されているのですがこの…

EPPlusの基本的な使い方メモ (xlsx形式, Excelのインストール必要ない, COM使わない)

更新 2018-06-19 EPPlusのリンク切れていたので更新 知り合いから、EPPlusというとても便利なライブラリを教えてもらったので忘れないうちにメモメモ。Excelを扱うライブラリなんですが、これがとても便利です。公式ページは以下になります。 github.com EPP…

int.ParseとConvert.ToInt32の僅かな違い

.NETやり始めた人に int.ParseとConvert.ToInt32って何が違うの? という質問をたまに受けるので、忘れない内にメモメモ。 どっちを使えばいいのか分からないことが多いみたい。 私個人は、ほとんどの場合で、TryParse使うのであんまり気になったことがない…

UNITY 3D – Game Programming シリーズ (CodeProject)

C#

CodeProjectに Unity のシリーズがあったので忘れないうちにメモメモ。 後で読む。 UNITY 3D - Game Programming Introduction - CodeProject UNITY 3D – Game Programming – Part 2 - CodeProject UNITY 3D – Game Programming – Part 3 - CodeProject UNIT…

SimpleInjectorの基本的な使い方メモ

SimpleInjectorというIoCフレームワーク(DIコンテナ)がすごくシンプルで使いやすいので、最近気に入っているのですが、基本的な使い方を忘れないうちにメモメモ。 SimpleInjectorの公式ページは以下です。 Simple Injectorsimpleinjector.org このライブラ…

Prism 5.0 の ドキュメントがPDFやEPUBとかでダウンロード可能 (Prism 5.0 for WPF - Book Download)

Prismのドキュメント探してたら、以下のURLからドキュメントを電子媒体でダウンロードできるのを知ったので、忘れないうちにメモメモ。 Download Prism 5.0 for WPF - Book Download from Official Microsoft Download Center PDF, EPUB, MOBI形式でダウンロ…

AutoMapperの基本的な使い方メモ

JavaでいうBeans.copyやBeanUtils.copyPropertiesメソッドみたいなことをやってくれるライブラリを探してたら、AutoMapperという便利なライブラリがあったので、基本的な使い方をメモメモ。WPFとかやると、データの移管が多くなるので重宝しそうです。 AutoM…

DevExpress奮闘記-128 (CodeRushのテンプレート展開キーを変更, SpaceからTabへ)

前に一度変更したことがあったのですが、再度やろうとしたらやり方忘れていたので忘れないうちにメモメモ。 CodeRushで、スキーマがFrictionFreeの場合、テンプレートの展開キーがデフォルトのSpaceからTabに変更されます。正直言うと、DefaultのSpaceキーが…

C# 6.0 のメモ (VisualStudio 2015, .NET Framework 4.6)

VisualStudioも、2015がPreview版として公開されているのでそろそろ、次のバージョンである C# 6.0 についても情報をメモメモ。 VisualStudio 2015 Previewは、以下よりダウンロード可能。ファーストステップガイドも公開されています。AzureでもVMが公開さ…

WPFでWinFormsのPerformClickみたいな動作を実施

WPF 4.5 UNLEASHEDに載っていたので、忘れないうちにメモメモ。 WPF 4.5 Unleashed作者: Adam Nathan出版社/メーカー: Sams Publishing発売日: 2013/07/12メディア: Kindle版この商品を含むブログを見る WinFormsにあるPerformClickみたいな処理をする方法で…

DevExpress奮闘記-127 (v14.2のリリース前情報メモ)

次のリリースである、v14.2のbeta版が公開されたこともあり DevExpressのブログにもいろいろ情報が出てきましたねー。今回はCodeRushでIntelliRushっていう素晴らしい機能が追加されるので期待しまくってます。 ついでに、メモしておこうと思います。 追記 v…

XAMLデザイナでViewModelが存在しないと言われた場合のメモ

忘れない内にメモメモ。 最近、Mac上でParallelsを動かしてVisual Studio 2013で開発しているのですが、WPFアプリを作っていてViewModelをXAML上で <Window.DataContext> <local:MainViewModel /> </Window.DataContext> とかすると、「MainViewModelが存在しません。」というエラーが表示されました。ちゃんとクラスはあるの…

DevExpress奮闘記-126 (Assembly Deployment Tool, 配布時に必要なDLLを選択してくれるツール)

いつのバージョンからなのかは分かっていないのですが、VisualStudioのメニューに現れる「DevExpress」メニューに、「Assembly Deployment Tool」というのが追加されています。忘れない内にメモメモ。 「DevExpress」-> 「All Platforms」 -> 「Assembly Dep…

PerfTips (VisualStudio 14 CTP3, 処理速度計測, CPUタイム)

つい先日、VisualStudio 14 CTP 3がリリースされました。 http://blogs.msdn.com/b/visualstudio/archive/2014/08/18/visual-studio-14-ctp-3-released.aspx いろいろ機能追加が行われているのですが、その中に PerfTips という機能が追加されています。 htt…

Visual Studio 2013 keyboard shortcuts The complete list (VS2013, キーボードショートカット, gitまわりのショートカットキー)

C#

Visual Studio 2013のキーボードショートカットが山ほど載ってるサイトが あったのでメモメモ。これすごい助かる。こんなにショートカットあったんだ。 Visual Studio 2013 keyboard shortcuts The complete list http://visualstudioshortcuts.com/2013/ Vi…

.NET クラスライブラリ探訪-069 (System.ArraySegment<T>, 部分配列の作成)

C#

今回は、System.ArraySegment構造体についてメモ。 このクラス、.NET 2.0の頃からずっと存在している構造体です。 なにを表す構造体かというと、元となる配列の一部分を表現する部分配列を 構成します。 例えば、[1, 2, 3, 4, 5]という配列があって、その配…

DevExpress奮闘記-125 (CodeRush Unit Test Builder, UTB, ユニットテスト自動作成)

ちょっと前の情報になってしまいますが、CodeRush のバージョン 13.2 から Unit Test Builder という機能が追加されました。名前のままユニットテストを作成してくれる機能です。 公式のブログにて紹介されています。 New in CodeRush 13.2: Unit Test Build…

BindingOperations.EnableCollectionSynchronizationについて (.NET 4.5, WPF, 非UIスレッドからアクセス)

.NET 4.5 からWPFに以下のメソッドが追加されました。 public static void EnableCollectionSynchronization( IEnumerable collection, Object lockObject ) public static void EnableCollectionSynchronization( IEnumerable collection, Object context, …

Visual Studio Online でのプロジェクト削除方法

C#

ちょっと分かりにくかったので、忘れない内にメモメモ。 作成したプロジェクトを削除するのは、Webから出来ます。 まず、普通にログインして、Visual Studio Onlineのユーザページを表示。 右上の車輪みたいなボタン(たぶん設定ボタン)をクリック。 管理画…

WinFormsでターゲットをx64にしてるとデザイナが開けない場合がある

先日、いきなり発生して解決するまで時間かかったので忘れないようメモメモ。 WinFormsでアプリを開発していて、いきなりデザイナが開けなくなった事象が発生. 継承フォームとユーザコントロールのデザイナが開けなくなりました。デザイナを開こうとすると以…

VisualStudioプロジェクトプロパティの「32ビットの優先」チェックボックス

たまに忘れてて、あれ?ってなるのでメモメモ。 いつからこのオプションが追加されたのか、VisualStudio 2013でプロジェクトのプロパティページに「32ビットの優先」というチェックボックスが追加されています。 このチェックボックスですが、プロジェクトの…

タスク並列ライブラリ入門記-008 (Taskから結果を取得, Task.Result)

C#

タスクからの結果取得について。 タスクから結果を取得するにはタスク生成時にFuncオブジェクトを指定します。 その後、実行してResultプロパティを参照すれば結果が取得できます。 非同期処理なので、当然まだ処理が完了していない場合があります。 その場…

Dapperの簡単な使い方メモ (Dapper .NET, Micro ORM, 速い)

C#

ひょんなことで、Dapperのサンプルを書いたので、もったいなのでメモメモ。 便利なので、大好きですこのライブラリ。 Dapper .NETのサンプル 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ http://sites.google.com/site/…

SQLiteの書き込み速度をアップさせる (System.Data.SQLite, SyncMode, JournalMode, PRAGMA)

忘れないようメモメモ。 SQLiteさんは、そもそも速度が速いのですが書き込み速度をさらにアップさせたい時があります。 (データがもの凄い速さで流れてきて、それを出来るだけ遅延なく書き込みしたいときとか) 書き込み速度をアップさせるのに、すぐ適用でき…

タスク並列ライブラリ入門記-007 (TaskのDisposeについて, Task.Dispose)

C#

ずっと気になっていた事の答えがMSDNのブログに載っていたので 忘れないうちにメモメモ。 TaskクラスはIDisposableを実装しています。 なので、Disposeメソッドが定義されているのですが 通常、これを呼んでいるソースを見たことがありません。 (私自身も呼…

タスク並列ライブラリ入門記-006 (TaskCreationOptions.LongRunning, 長時間実行されるタスクであることを示すオプション, オーバーサブスクリプション)

C#

Taskには、作成時にTaskCreationOptionsを指定することができます。 その中に、 TaskCreationOptions.LongRunning という項目があります。文字通り長時間処理されるタスクの場合に 指定する項目なのですが、これを指定すると場合によっては、タスクスケジュ…

.NET クラスライブラリ探訪-068 (System.Dynamic.DynamicObject, 動的オブジェクトの作成)

C#

だいぶ前に .NET クラスライブラリ探訪-034 (System.Dynamic.ExpandoObject)(動的オブジェクト構築, dynamic, 4.0) http://devlights.hatenablog.com/entry/20100530/p1 という記事を書いていて、System.Dynamic.ExpandoObjectについては 記述していたのです…

タスク並列ライブラリ入門記-005 (Task.Run, .NET 4.5から追加されたタスク開始方法)

C#

.NET 4.5からタスクの開始方法に新しいメソッドが用意されました。 Task.Run(...) // ActionとかFuncとかCancellationTokenとか Task.Run メソッド http://msdn.microsoft.com/ja-jp/library/system.threading.tasks.task.run(v=vs.110).aspx .NET 4.0のとき…