Type.StructLayoutAttribute プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)

public: virtual property StructLayoutAttribute^ StructLayoutAttribute { StructLayoutAttribute^ get (); }
現在の型のレイアウト機能全体を説明する StructLayoutAttribute を取得します。


クラス、構造体、および特殊なレイアウト属性を持つ構造体 (構造体がクラスの入れ子になっている) を最初に定義するコード例を次に示します。この例では、次に StructLayoutAttributeプロパティを使用して、各型の StructLayoutAttribute を取得し、属性のプロパティを表示します。
Imports System Imports System.Runtime.InteropServices Public Class Example Public Shared Sub Main() DisplayLayoutAttribute(GetType(Example).StructLayoutAttribute) DisplayLayoutAttribute(GetType(Test1).StructLayoutAttribute) DisplayLayoutAttribute(GetType(Test2).StructLayoutAttribute) End Sub Private Shared Sub DisplayLayoutAttribute( _ ByVal sla As StructLayoutAttribute) Console.WriteLine(vbCrLf & "CharSet: " & sla.CharSet.ToString() _ & vbCrLf & " Pack: " & sla.Pack.ToString() _ & vbCrLf & " Size: " & sla.Size.ToString() _ & vbCrLf & " Value: " & sla.Value.ToString()) End Sub Public Structure Test1 Public B1 As Byte Public S As Short Public B2 As Byte End Structure <StructLayout(LayoutKind.Explicit, Pack:=1)> _ Public Structure Test2 <FieldOffset(0)> Public B1 As Byte <FieldOffset(1)> Public S As Short <FieldOffset(3)> Public B2 As Byte End Structure End Class
using System; using System.Runtime.InteropServices; public class Example { public static void Main() { DisplayLayoutAttribute(typeof(Example).StructLayoutAttribute); DisplayLayoutAttribute(typeof(Test1).StructLayoutAttribute); DisplayLayoutAttribute(typeof(Test2).StructLayoutAttribute); } private static void DisplayLayoutAttribute(StructLayoutAttribute sla) { Console.WriteLine("\r\nCharSet: "+sla.CharSet.ToString()+"\r\n Pack: "+sla.Pack.ToString()+"\r\n Size: "+sla.Size.ToString()+"\r\n Value: "+sla.Value.ToString()); } public struct Test1 { public byte B1; public short S; public byte B2; } [StructLayout(LayoutKind.Explicit, Pack=1)] public struct Test2 { [FieldOffset(0)] public byte B1; [FieldOffset(1)] public short S; [FieldOffset(3)] public byte B2; } }
using namespace System; using namespace System::Runtime::InteropServices; value struct Test1 { public: Byte B1; short S; Byte B2; }; [StructLayout(LayoutKind::Explicit,Pack=1)] value struct Test2 { public: [FieldOffset(0)] Byte B1; [FieldOffset(1)] short S; [FieldOffset(3)] Byte B2; }; static void DisplayLayoutAttribute( StructLayoutAttribute^ sla ) { Console::WriteLine( L"\r\nCharSet: {0}\r\n Pack: {1}\r\n Size: {2}\r\n Value: {3}", sla->CharSet, sla->Pack, sla->Size, sla->Value ); } int main() { DisplayLayoutAttribute( Test1::typeid->StructLayoutAttribute ); return 0; }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からType.StructLayoutAttribute プロパティを検索する場合は、下記のリンクをクリックしてください。

- Type.StructLayoutAttribute プロパティのページへのリンク