Type.StructLayoutAttribute プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Type.StructLayoutAttribute プロパティの意味・解説 

Type.StructLayoutAttribute プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

現在の型のレイアウト説明する StructLayoutAttribute を取得します

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

Public Overridable ReadOnly
 Property StructLayoutAttribute As StructLayoutAttribute
Dim instance As Type
Dim value As StructLayoutAttribute

value = instance.StructLayoutAttribute
public virtual StructLayoutAttribute StructLayoutAttribute { get;
 }
public:
virtual property StructLayoutAttribute^ StructLayoutAttribute {
    StructLayoutAttribute^ get ();
}
/** @property */
public StructLayoutAttribute get_StructLayoutAttribute ()
public function get StructLayoutAttribute
 () : StructLayoutAttribute

プロパティ
現在の型のレイアウト機能全体説明する StructLayoutAttribute取得します

解説解説

StructLayoutAttribute は、GetCustomAttributes メソッドによって返されません。代わりに、このプロパティ使用して取得します

使用例使用例

クラス構造体、および特殊なレイアウト属性を持つ構造体 (構造体クラス入れ子になっている) を最初に定義するコード例次に示します。この例では、次に 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;
}

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からType.StructLayoutAttribute プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からType.StructLayoutAttribute プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からType.StructLayoutAttribute プロパティ を検索

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

辞書ショートカット

すべての辞書の索引

Type.StructLayoutAttribute プロパティのお隣キーワード
検索ランキング

   

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



Type.StructLayoutAttribute プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS