PackingSize 列挙体とは? わかりやすく解説

PackingSize 列挙体

型をマーシャリングするときのフィールドメモリ アライメント規定する 2 つ要素のうち、1 つ指定します

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration PackingSize
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum PackingSize
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class PackingSize
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum PackingSize
SerializableAttribute 
ComVisibleAttribute(true) 
public enum PackingSize
メンバメンバ
解説解説

パッキング サイズは、構成が LayoutKind.Sequential の構造体およびクラスにおいて、フィールドアライメント規定します。パッキング サイズは、構造体またはクラスマーシャリングするときのフィールドオフセット規定する 2 つ要素のうちの 1 つです。もう 1 つ要素は、フィールドの有効サイズです。フィールドオフセット決定するには、次の計算行います

  1. 前のフィールドサイズを前のフィールドオフセット加えることによって、オフセット最小値計算します

  2. フィールド通常パッキング サイズ計算しますフィールド単純なデータ型場合は、そのサイズ使用しますフィールド配列場合は、配列要素サイズ使用しますフィールド自体構造体場合は、構造体パッキング サイズと、構造体内の最大フィールドサイズ比較しいずれか小さい方のサイズ使用します

  3. パッキング サイズと (手順 2計算した) フィールド通常パッキング サイズ比較して有効なパッキング サイズ計算します比較結果いずれか小さい方の値を使用します

  4. オフセット計算しますオフセットは、最小値上で手順 3 で計算した有効パッキング サイズ倍数となる最初メモリ位置となります

メモメモ

クラスまたは構造体内のすべてのフィールドについてオフセット計算したら、全体サイズパッキング サイズ倍数となるように、パディング追加されます。

たとえば、bytelong含んでいるクラスで、パッキング サイズ Size1使用している場合byte フィールドオフセットは 0 となり、long フィールドオフセットは 1 となりますパッキング サイズSize4場合long フィールドオフセットは 4 となります2 つshort フィールドを含むクラスで、パッキング サイズ任意の場合2 番目の short フィールドオフセットは 2 となります

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Reflection.Emit 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PackingSize 列挙体」の関連用語

PackingSize 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PackingSize 列挙体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS