TypeDelegator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包裝 Type 物件,並將方法委派給該 Type。
public ref class TypeDelegator : System::Reflection::TypeInfo
public ref class TypeDelegator : Type
public class TypeDelegator : System.Reflection.TypeInfo
[System.Serializable]
public class TypeDelegator : Type
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeDelegator : Type
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class TypeDelegator : System.Reflection.TypeInfo
type TypeDelegator = class
inherit TypeInfo
[<System.Serializable>]
type TypeDelegator = class
inherit Type
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeDelegator = class
inherit Type
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TypeDelegator = class
inherit TypeInfo
Public Class TypeDelegator
Inherits TypeInfo
Public Class TypeDelegator
Inherits Type
- 繼承
- 繼承
- 屬性
備註
衍生自此類型,並只覆寫您必須在 中提供自定義的成員,以及程式所需的任何成員,且尚未由 TypeDelegator實作。
TypeDelegator 衍生自 System.Type,並實作 Type的大部分屬性和方法。 針對它實作的每個成員,TypeDelegator 會自動委派給內部 Type 對象的對應成員,該物件會作為建構函式的自變數提供。 這個內部 Type 物件會由 [protectedtypeImpl] 字段公開給衍生類別。
注意
即使成員本身只是繼承自 Type,TypeDelegator 的某些成員也有實作。 在這些情況下,實作是由覆寫的 protected 方法所提供,其名稱以 “Impl” 結尾。 例如,覆寫 GetMethodImpl 方法會提供 GetMethods 方法之所有多載的實作。 覆寫 GetAttributeFlagsImpl 方法會提供繼承屬性的實作,例如 IsPublic 和 IsNestedAssembly。
衍生類別可以提供公用建構函式,以 Type 對象作為其參數,並直接將該對象傳遞至 TypeDelegator(Type) 建構函式,也可以以其他方式設定內部 Type 物件。
如果衍生類別使用未由 TypeDelegator實作的成員,則必須覆寫該成員並提供實作。 最簡單的實作是在 typeImpl 字段所公開的內部 Type 物件上呼叫對應的成員,但您可以提供應用程式所需的任何實作。 如果您的應用程式或連結庫函式未使用這些成員,則不需要覆寫這些成員(例如,由 CodeTypeReference.CodeTypeReference(Type) 建構函式)。
下列虛擬方法(Visual Basic 中的Overridable 方法 Type)不是由 TypeDelegator實作:MakeGenericType、GetGenericTypeDefinition、GetGenericArguments、GetGenericParameterConstraints、MakeArrayType、MakeByRefType、MakePointerType、GetEnumNames、GetEnumValues、GetEnumUnderlyingType、GetTypeCodeImpl、IsEnumDefined、IsEquivalentTo。
Type 的下列虛擬屬性(Visual Basic 中的Overridable 屬性)不是由 TypeDelegator實作:IsGenericType、IsGenericTypeDefinition、IsGenericParameter、ContainsGenericParameters、DeclaringMethod、GenericParameterAttributes、GenericParameterPosition、IsSecurityCritical、IsSecuritySafeCritical、IsSecurityTransparent。
建構函式
| TypeDelegator() |
使用預設屬性,初始化 TypeDelegator 類別的新實例。 |
| TypeDelegator(Type) |
初始化指定封裝實例之 TypeDelegator 類別的新實例。 |
欄位
| typeImpl |
值,表示型別資訊。 |
屬性
| Assembly |
取得實作型別的元件。 |
| AssemblyQualifiedName |
取得元件的完整名稱。 |
| Attributes |
包裝 Type 物件,並將方法委派給該 |
| Attributes |
取得與 Type相關聯的屬性。 (繼承來源 Type) |
| BaseType |
取得目前型別的基底型別。 |
| ContainsGenericParameters |
包裝 Type 物件,並將方法委派給該 |
| ContainsGenericParameters |
取得值,指出目前 Type 物件是否具有尚未由特定型別取代的類型參數。 (繼承來源 Type) |
| CustomAttributes |
取得集合,其中包含這個成員的自定義屬性。 (繼承來源 MemberInfo) |
| DeclaredConstructors |
取得目前型別所宣告之建構函式的集合。 (繼承來源 TypeInfo) |
| DeclaredEvents |
取得目前型別所定義之事件的集合。 (繼承來源 TypeInfo) |
| DeclaredFields |
取得目前型別所定義的欄位集合。 (繼承來源 TypeInfo) |
| DeclaredMembers |
取得目前型別所定義之成員的集合。 (繼承來源 TypeInfo) |
| DeclaredMethods |
取得目前型別所定義之方法的集合。 (繼承來源 TypeInfo) |
| DeclaredNestedTypes |
取得目前型別所定義的巢狀型別集合。 (繼承來源 TypeInfo) |
| DeclaredProperties |
取得目前型別所定義之屬性的集合。 (繼承來源 TypeInfo) |
| DeclaringMethod |
包裝 Type 物件,並將方法委派給該 |
| DeclaringMethod |
取得表示宣告方法的 MethodBase,如果目前的 Type 代表泛型方法的類型參數。 (繼承來源 Type) |
| DeclaringType |
取得宣告目前巢狀型別或泛型型別參數的類型。 (繼承來源 Type) |
| FullName |
取得實作型別的完整名稱。 |
| GenericParameterAttributes |
包裝 Type 物件,並將方法委派給該 |
| GenericParameterAttributes |
取得 GenericParameterAttributes 旗標的組合,描述目前泛型型別參數的共變數和特殊條件約束。 (繼承來源 Type) |
| GenericParameterPosition |
包裝 Type 物件,並將方法委派給該 |
| GenericParameterPosition |
當 Type 物件代表泛型型別或泛型方法的類型參數時,取得類型參數在宣告參數之泛型型別或方法的類型參數清單中的位置。 (繼承來源 Type) |
| GenericTypeArguments |
包裝 Type 物件,並將方法委派給該 |
| GenericTypeArguments |
取得這個型別之泛型型別自變數的陣列。 (繼承來源 Type) |
| GenericTypeParameters |
取得目前實例之泛型型別參數的陣列。 (繼承來源 TypeInfo) |
| GUID |
取得實作型別的 GUID (全域唯一標識符)。 |
| HasElementType |
包裝 Type 物件,並將方法委派給該 |
| HasElementType |
取得值,指出目前的 Type 是否包含或參考另一種型別;也就是說,目前 Type 是陣列、指標或以傳址方式傳遞。 (繼承來源 Type) |
| ImplementedInterfaces |
取得目前型別所實作之介面的集合。 (繼承來源 TypeInfo) |
| IsAbstract |
包裝 Type 物件,並將方法委派給該 |
| IsAbstract |
取得值,指出 Type 是否為抽象且必須覆寫。 (繼承來源 Type) |
| IsAnsiClass |
包裝 Type 物件,並將方法委派給該 |
| IsAnsiClass |
取得值,指出是否已為 Type選取字串格式屬性 |
| IsArray |
包裝 Type 物件,並將方法委派給該 |
| IsArray |
取得值,這個值表示型別是否為陣列。 (繼承來源 Type) |
| IsAutoClass |
包裝 Type 物件,並將方法委派給該 |
| IsAutoClass |
取得值,指出是否已為 Type選取字串格式屬性 |
| IsAutoLayout |
包裝 Type 物件,並將方法委派給該 |
| IsAutoLayout |
取得值,指出目前類型的字段是否由 Common Language Runtime 自動配置。 (繼承來源 Type) |
| IsByRef |
包裝 Type 物件,並將方法委派給該 |
| IsByRef |
取得值,指出是否以傳址方式傳遞 Type。 (繼承來源 Type) |
| IsByRefLike |
包裝 Type 物件,並將方法委派給該 |
| IsByRefLike |
取得值,這個值表示型別是否為類似 byref 的結構。 (繼承來源 Type) |
| IsClass |
包裝 Type 物件,並將方法委派給該 |
| IsClass |
取得值,指出 Type 是類別還是委派;也就是說,不是實值型別或介面。 (繼承來源 Type) |
| IsCollectible |
取得這個物件 typeImpl的 IsCollectible 值,這個值表示這個物件是否為 MemberInfo 實作,是否為可收集 AssemblyLoadContext中保存的元件。 |
| IsCollectible |
取得值,這個值表示這個 MemberInfo 物件是否為可收集 AssemblyLoadContext中保存的元件。 (繼承來源 MemberInfo) |
| IsCOMObject |
包裝 Type 物件,並將方法委派給該 |
| IsCOMObject |
取得值,指出 Type 是否為 COM 物件。 (繼承來源 Type) |
| IsConstructedGenericType |
取得值,這個值表示這個物件是否代表建構的泛型型別。 |
| IsConstructedGenericType |
取得值,這個值表示這個物件是否代表建構的泛型型別。 您可以建立已建構泛型類型的實例。 (繼承來源 Type) |
| IsContextful |
取得值,指出是否可以在內容中裝載 Type。 (繼承來源 Type) |
| IsEnum |
包裝 Type 物件,並將方法委派給該 |
| IsEnum |
取得值,指出目前的 Type 是否代表列舉。 (繼承來源 Type) |
| IsExplicitLayout |
包裝 Type 物件,並將方法委派給該 |
| IsExplicitLayout |
取得值,指出目前型別的欄位是否在明確指定的位移中配置。 (繼承來源 Type) |
| IsFunctionPointer |
取得值,這個值表示目前 Type 是否為函式指標。 |
| IsFunctionPointer |
取得值,這個值表示目前 Type 是否為函式指標。 (繼承來源 Type) |
| IsGenericMethodParameter |
包裝 Type 物件,並將方法委派給該 |
| IsGenericMethodParameter |
取得值,這個值表示目前 Type 是否代表泛型方法定義中的型別參數。 (繼承來源 Type) |
| IsGenericParameter |
包裝 Type 物件,並將方法委派給該 |
| IsGenericParameter |
取得值,指出目前的 Type 是否代表泛型型別或方法定義中的型別參數。 (繼承來源 Type) |
| IsGenericType |
包裝 Type 物件,並將方法委派給該 |
| IsGenericType |
取得值,指出目前型別是否為泛型型別。 (繼承來源 Type) |
| IsGenericTypeDefinition |
包裝 Type 物件,並將方法委派給該 |
| IsGenericTypeDefinition |
取得值,指出目前的 Type 是否代表泛型型別定義,而其他泛型型別可以從中建構。 (繼承來源 Type) |
| IsGenericTypeParameter |
包裝 Type 物件,並將方法委派給該 |
| IsGenericTypeParameter |
取得值,這個值表示目前 Type 是否代表泛型型別定義中的型別參數。 (繼承來源 Type) |
| IsImport |
包裝 Type 物件,並將方法委派給該 |
| IsImport |
取得值,指出 Type 是否已套用 ComImportAttribute 屬性,指出它已從 COM 類型庫匯入。 (繼承來源 Type) |
| IsInterface |
包裝 Type 物件,並將方法委派給該 |
| IsInterface |
取得值,指出 Type 是否為介面;也就是說,不是類別或實值型別。 (繼承來源 Type) |
| IsLayoutSequential |
包裝 Type 物件,並將方法委派給該 |
| IsLayoutSequential |
取得值,指出目前類型的欄位是否依定義或發出至元數據的順序循序配置。 (繼承來源 Type) |
| IsMarshalByRef |
包裝 Type 物件,並將方法委派給該 |
| IsMarshalByRef |
取得值,指出是否以傳址方式封送處理 Type。 (繼承來源 Type) |
| IsNested |
包裝 Type 物件,並將方法委派給該 |
| IsNested |
取得值,指出目前的 Type 物件是否代表定義巢狀於另一個型別定義內的型別。 (繼承來源 Type) |
| IsNestedAssembly |
包裝 Type 物件,並將方法委派給該 |
| IsNestedAssembly |
取得值,指出 Type 是否為巢狀結構,且只顯示在它自己的元件內。 (繼承來源 Type) |
| IsNestedFamANDAssem |
包裝 Type 物件,並將方法委派給該 |
| IsNestedFamANDAssem |
取得值,指出 Type 是否為巢狀結構,且只對屬於其本身系列和本身元件的類別可見。 (繼承來源 Type) |
| IsNestedFamily |
包裝 Type 物件,並將方法委派給該 |
| IsNestedFamily |
取得值,指出 Type 是否為巢狀,且只在其自己的系列內可見。 (繼承來源 Type) |
| IsNestedFamORAssem |
包裝 Type 物件,並將方法委派給該 |
| IsNestedFamORAssem |
取得值,指出 Type 是巢狀的,而且只對屬於其自有系列或本身元件之類別可見。 (繼承來源 Type) |
| IsNestedPrivate |
包裝 Type 物件,並將方法委派給該 |
| IsNestedPrivate |
取得值,指出 Type 是否為巢狀且宣告為私用。 (繼承來源 Type) |
| IsNestedPublic |
包裝 Type 物件,並將方法委派給該 |
| IsNestedPublic |
取得值,指出類別是否為巢狀和宣告為公用。 (繼承來源 Type) |
| IsNotPublic |
包裝 Type 物件,並將方法委派給該 |
| IsNotPublic |
取得值,指出 Type 是否未宣告為公用。 (繼承來源 Type) |
| IsPointer |
包裝 Type 物件,並將方法委派給該 |
| IsPointer |
取得值,指出 Type 是否為指標。 (繼承來源 Type) |
| IsPrimitive |
包裝 Type 物件,並將方法委派給該 |
| IsPrimitive |
取得值,指出 Type 是否為其中一個基本型別。 (繼承來源 Type) |
| IsPublic |
包裝 Type 物件,並將方法委派給該 |
| IsPublic |
取得值,指出 Type 是否宣告為公用。 (繼承來源 Type) |
| IsSealed |
包裝 Type 物件,並將方法委派給該 |
| IsSealed |
取得值,指出是否宣告 Type 密封。 (繼承來源 Type) |
| IsSecurityCritical |
取得值,這個值表示目前類型在目前信任層級是安全性關鍵或安全性安全關鍵,因此可以執行重大作業。 (繼承來源 Type) |
| IsSecuritySafeCritical |
取得值,這個值表示目前類型在目前信任層級上是否為安全性安全關鍵;也就是說,它是否可以執行關鍵作業,而且可由透明程式代碼存取。 (繼承來源 Type) |
| IsSecurityTransparent |
取得值,這個值表示目前類型在目前信任層級上是否透明,因此無法執行關鍵作業。 (繼承來源 Type) |
| IsSerializable |
包裝 Type 物件,並將方法委派給該 |
| IsSerializable |
已淘汰.
取得值,指出 Type 是否可串行化二進位。 (繼承來源 Type) |
| IsSignatureType |
取得值,這個值表示型別是否為簽章型別。 (繼承來源 Type) |
| IsSpecialName |
包裝 Type 物件,並將方法委派給該 |
| IsSpecialName |
取得值,指出型別是否有需要特殊處理的名稱。 (繼承來源 Type) |
| IsSZArray |
包裝 Type 物件,並將方法委派給該 |
| IsSZArray |
取得值,這個值表示型別是否為數位型別,只能代表具有零下限的單一維度數位。 (繼承來源 Type) |
| IsTypeDefinition |
包裝 Type 物件,並將方法委派給該 |
| IsTypeDefinition |
取得值,這個值表示型別是否為型別定義。 (繼承來源 Type) |
| IsUnicodeClass |
包裝 Type 物件,並將方法委派給該 |
| IsUnicodeClass |
取得值,指出是否已為 Type選取字串格式屬性 |
| IsUnmanagedFunctionPointer |
取得值,這個值表示目前 Type 是否為 Unmanaged 函式指標。 |
| IsUnmanagedFunctionPointer |
取得值,這個值表示目前 Type 是否為 Unmanaged 函式指標。 (繼承來源 Type) |
| IsValueType |
包裝 Type 物件,並將方法委派給該 |
| IsValueType |
取得值,指出 Type 是否為實值型別。 (繼承來源 Type) |
| IsVariableBoundArray |
包裝 Type 物件,並將方法委派給該 |
| IsVariableBoundArray |
取得值,這個值表示型別是否為數位類型,可代表多維度陣列或具有任意下限的陣列。 (繼承來源 Type) |
| IsVisible |
包裝 Type 物件,並將方法委派給該 |
| IsVisible |
取得值,指出元件外部的程式代碼是否可以存取 Type。 (繼承來源 Type) |
| MemberType |
包裝 Type 物件,並將方法委派給該 |
| MemberType |
取得 MemberTypes 值,指出這個成員是型別或巢狀型別。 (繼承來源 Type) |
| MetadataToken |
取得值,識別元數據中的這個實體。 |
| MetadataToken |
取得識別元數據專案的值。 (繼承來源 MemberInfo) |
| Module |
取得包含實作型別的模組。 |
| Name |
取得實作型別的名稱,並移除路徑。 |
| Namespace |
取得實作型別的命名空間。 |
| ReflectedType |
取得用來取得這個成員的類別物件。 (繼承來源 Type) |
| StructLayoutAttribute |
包裝 Type 物件,並將方法委派給該 |
| StructLayoutAttribute |
取得描述目前型別配置 StructLayoutAttribute。 (繼承來源 Type) |
| TypeHandle |
取得實作型別之內部元數據表示的句柄。 |
| TypeInitializer |
包裝 Type 物件,並將方法委派給該 |
| TypeInitializer |
取得型別的初始化表達式。 (繼承來源 Type) |
| UnderlyingSystemType |
取得代表實作型別的基礎 Type。 |
方法
明確介面實作
| _MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至對應的分派標識碼集。 (繼承來源 MemberInfo) |
| _MemberInfo.GetType() |
取得代表 MemberInfo 類別的 Type 物件。 (繼承來源 MemberInfo) |
| _MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取 物件的類型資訊,然後可用來取得介面的類型資訊。 (繼承來源 MemberInfo) |
| _MemberInfo.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目(0 或 1)。 (繼承來源 MemberInfo) |
| _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開屬性和方法的存取權。 (繼承來源 MemberInfo) |
| _Type.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至對應的分派標識碼集。 (繼承來源 Type) |
| _Type.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取 物件的類型資訊,然後可用來取得介面的類型資訊。 (繼承來源 Type) |
| _Type.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目(0 或 1)。 (繼承來源 Type) |
| _Type.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開屬性和方法的存取權。 (繼承來源 Type) |
| IReflectableType.GetTypeInfo() |
傳回目前型別的表示法,做為 TypeInfo 物件。 (繼承來源 TypeInfo) |