TYPE_INFO

Tato struktura určuje různé druhy informací o typu pole.

Syntaxe

public struct TYPE_INFO {
   public uint   dwKind;
   public IntPtr unionmember;
};

Členové

dwKind
Hodnota z dwTYPE_KIND výčtu, která určuje, jak interpretovat sjednocení.

type.typeMeta
[Pouze C++] Obsahuje METADATA_TYPE strukturu, pokud dwKind je TYPE_KIND_METADATA.

type.typePdb
[Pouze C++] Obsahuje PDB_TYPE strukturu, pokud dwKind je TYPE_KIND_PDB.

type.typeBuilt
[Pouze C++] Obsahuje BUILT_TYPE strukturu, pokud dwKind je TYPE_KIND_BUILT.

type.unused
Nepoužité odsazení.

type
Název sjednocení.

unionmember
[Jenom jazyk C#] Zařazujte tento typ na odpovídající typ struktury na dwKindzákladě .

Poznámky

Tato struktura je předána GetTypeInfo metoda, kde je vyplněna. Způsob interpretace obsahu struktury je založen na dwKind poli.

Poznámka:

[Pouze C++] Pokud dwKind se rovná TYPE_KIND_BUILT, je nutné uvolnit základní IDebugField objekt při zničení TYPE_INFO struktury. To se provádí voláním typeInfo.type.typeBuilt.pUnderlyingField->Release().

[Jenom jazyk C#] Následující tabulka ukazuje, jak interpretovat unionmember člena pro jednotlivé typy typů. Příklad ukazuje, jak se to dělá pro jeden typ.

dwKind unionmember interpretováno jako
TYPE_KIND_METADATA METADATA_TYPE
TYPE_KIND_PDB PDB_TYPE
TYPE_KIND_BUILT BUILT_TYPE

Příklad

Tento příklad ukazuje, jak interpretovat unionmember člen TYPE_INFO struktury v jazyce C#. Tento příklad ukazuje interpretaci pouze jednoho typu (TYPE_KIND_METADATA), ale ostatní jsou interpretovány úplně stejným způsobem.

using System;
using System.Runtime.Interop.Services;
using Microsoft.VisualStudio.Debugger.Interop;

namespace MyPackage
{
    public class MyClass
    {
        public void Interpret(TYPE_INFO ti)
        {
            if (ti.dwKind == (uint)enum_dwTypeKind.TYPE_KIND_METADATA)
            {
                 METADATA_TYPE dataType = (METADATA_TYPE)Marshal.PtrToStructure(ti.unionmember,
                                               typeof(METADATA_TYPE));
            }
        }
    }
}

Požadavky

Hlavička: sh.h

Obor názvů: Microsoft.VisualStudio.Debugger.Interop

Sestavení: Microsoft.VisualStudio.Debugger.Interop.dll

Viz také