遅延読み込み(Lazy Loading)と遅延初期化(Lazy Initialization)

Wikipedia 遅延読み込みによると以下の意味らしい。 遅延読み込み(ちえんよみこみ、英語: Lazy loading)とは実際にオブジェクトが 必要とされたときに後から初期化を行うソフトウェアデザインパターンの一つである。 遅延読み込みだけでもデザインパターン…

C# structとobjectをマッピングする

C#からC言語で記述されたDLLを呼び出す機会が少なからずある。 その時に必ずstruct定義を引数としてデータ設定・取得を行う。 組み込み系だと1バイトのビットフィールドに情報を詰め込むことがあり、 これをそのままアプリケーション側に渡すと使いづらいし…

C# InvokeとBeginInvokeの違いは?

はじめに WPFアプリ作成中にBeginInvokeとInvokeを使い分ける必要があったのでメモる。 Dispatcher.BeginInvoke スレッドでデリゲートを非同期的に実行、 Dispatcher に関連付けられています。 Dipatcher.Invoke 指定したデリゲートをスレッドで同期的に実行…

C# Visibilityとは

Visibilityを制御する必要があるUIを作成した際に調べたのでメモる。 Visibility列挙型 Collapsed 要素を表示しない、レイアウトの領域も確保しない Hidden 要素を表示しない、レイアウトの領域を確保する Visible 要素を表示する、レイアウトの領域を確保す…