Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Struktur ini menentukan berbagai jenis informasi tentang jenis bidang.
Sintaks
Anggota
dwKind
Nilai dari enumerasi dwTYPE_KIND yang menentukan cara menginterpretasikan penyatuan.
type.typeMeta
[Hanya C++] Berisi struktur METADATA_TYPE jika dwKind adalah TYPE_KIND_METADATA.
type.typePdb
[Hanya C++] Berisi struktur PDB_TYPE jika dwKind adalah TYPE_KIND_PDB.
type.typeBuilt
[Hanya C++] Berisi struktur BUILT_TYPE jika dwKind adalah TYPE_KIND_BUILT.
type.unused
Padding yang tidak digunakan.
type
Nama serikat.
unionmember
[C# saja] Marsekal ini ke jenis struktur yang sesuai berdasarkan dwKind.
Keterangan
Struktur ini diteruskan ke metode GetTypeInfo tempatnya diisi. Bagaimana konten struktur ditafsirkan didasarkan pada dwKind bidang .
Catatan
[Hanya C++] Jika dwKind sama dengan , maka perlu untuk merilis objek IDebugField yang mendasar TYPE_KIND_BUILTsaat menghancurkan TYPE_INFO struktur. Ini dilakukan dengan memanggil typeInfo.type.typeBuilt.pUnderlyingField->Release().
[C# saja] Tabel berikut ini memperlihatkan cara menginterpretasikan unionmember anggota untuk setiap jenis. Contoh menunjukkan bagaimana hal ini dilakukan untuk satu jenis.
dwKind |
unionmember ditafsirkan sebagai |
|---|---|
TYPE_KIND_METADATA |
METADATA_TYPE |
TYPE_KIND_PDB |
PDB_TYPE |
TYPE_KIND_BUILT |
BUILT_TYPE |
Contoh
Contoh ini menunjukkan cara menginterpretasikan unionmember anggota TYPE_INFO struktur dalam C#. Contoh ini menunjukkan hanya menafsirkan satu jenis (TYPE_KIND_METADATA) tetapi yang lain ditafsirkan dengan cara yang sama persis.
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));
}
}
}
}
Persyaratan
Header: sh.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Rakitan: Microsoft.VisualStudio.Debugger.Interop.dll