C#

Windows Form と スレッド

C#

C# のライブラリっていろいろと便利なものがそろってると思うんですが,どうも資料が不足してるような気がする...前回のエントリでも Bitmap を扱ったけど,いま Image とか Bitmap とかを扱うものを作ってて,一枚の画像を複数のスレッドからいじる必要…

C# へのネイティブ DLL の取り込み - 構造体編

C#

ここまでで,C# から C で作成した DLL のメソッドへの変数・文字列の渡し方を見てきたが,構造体を引数として渡すことも実用上考えられる.ここでは,構造体を渡す方法をしらべたのでまとめる. 1. C で定義した構造体を C# でも定義する. [StructLayout(L…

C# へのネイティブ DLL の取り込み - 値渡し,参照渡し引数編

C#

仕事で C# を使うようになったため C# 関連の勉強を開始.既存の資産が C である場合が多いので,C の DLL を取り込む方法を調べた. C# 側での記述 簡単な例 (参照渡しパラメータなしの Win32API) DllImport 属性 (System.Runtime.InteropServices) を利用…

Calling Convention

C#

Calling Convention (呼出規約) プログラミングにおける呼出規約はサブルーチンを呼び出す際の標準的な手法を指している.サブルーチンにデータを渡し,戻るべきアドレス(リターンアドレス)を記録し,サブルーチンからデータを受け取るための規則.一つのプ…

C# 属性

C#

属性:クラス,メンバに追加情報を与えるもの. C++などの既存の言語では,追加情報を定義する場合,言語仕様自体を拡張し,新たにコンパイラを作り直す必要があった.C#では自分で属性を定義し,クラスやメンバに付加することができる.すなわち,ライブラ…

C# 実行時型情報

C#

メタデータ:クラス名,メンバ名,それらのアクセスレベル等の情報.リフレクション:プログラムの実行時にメタデータを取り出すための機能.実行時型情報:C#では,クラスのインスタンスから実行時に型情報を取得したり,リフレクションを利用して型情報か…