更新 : 2007 年 11 月
.NET Framework におけるクラスと構造体は類似しています。どちらにも、フィールド、プロパティ、およびイベントを関連付けることができます。また、値型は静的メソッドと非静的メソッドを持つこともできます。主な違いは、構造体が値型でありクラスが参照型であるということです。
クラス、構造体、および共用体に関するマーシャリング オプションを次の表に列挙し、それぞれの使用方法を説明し、対応するプラットフォーム呼び出しのサンプルへのリンクを示します。
型 | 説明 | サンプル |
|---|
クラスを値渡し。 | マネージの場合と同様に、整数メンバを含むクラスを In/Out パラメータとして渡します。 | SysTime |
構造体を値渡し。 | 構造体を In パラメータとして渡します。 | 構造体 |
構造体を参照渡し。 | 構造体を In/Out パラメータとして渡します。 | OSInfo |
入れ子になった構造体を含む構造体 (平坦化)。 | 入れ子にした構造体を含む構造体を表すクラスをアンマネージ関数の中で渡します。構造体はマネージ プロトタイプで 1 つの大きな構造体へと平坦化されます。 | FindFile |
入れ子になった構造体を含む構造体 (非平坦化)。 | 埋め込み構造体を含む構造体を渡します。 | 構造体 |
別の構造体へのポインタを含む構造体。 | 第 2 の構造体へのポインタをメンバとして含む構造体を渡します。 | 構造体 |
整数を含む構造体の配列を値渡し。 | 整数だけを含む構造体の配列を In/Out パラメータとして渡します。配列のメンバを変更できます。 | 配列 |
整数と文字列を含む構造体の配列を参照渡し。 | 整数と文字列を含む構造体の配列を Out パラメータとして渡します。呼び出された関数によって配列用のメモリを割り当てます。 | OutArrayOfStructs |
値型を含む共用体。 | 値型 (整数と倍精度浮動小数点数) を含む共用体を渡します。 | Unions |
混合型を含む共用体。 | 混合型 (整数と文字列) を含む共用体を渡します。 | Unions |
構造体に含まれる null 値。 | 値型への参照の代わりに null 参照 (Visual Basic では Nothing) を渡します。 | HandleRef |
概念
その他の技術情報