Tento článek byl přeložený strojově. Pokud chcete zobrazit článek v angličtině, zaškrtněte políčko Angličtina. Anglickou verzi článku můžete také zobrazit v místním okně přesunutím ukazatele myši nad text.
Překlad
Angličtina
Tato dokumentace je archivovaná a neudržuje se.

GenericTypeParameterBuilder – třída

Definuje a vytváří obecný typ parametry dynamicky definovali obecné typy a metody. Od této třídy nelze dědit.

System.Object
  System.Reflection.MemberInfo
    System.Type
      System.Reflection.Emit.GenericTypeParameterBuilder

Obor názvů:  System.Reflection.Emit
Sestavení:  mscorlib (v mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class GenericTypeParameterBuilder : Type

Typ GenericTypeParameterBuilder zveřejňuje následující členy.

  NázevPopis
Veřejná vlastnostAssemblyZískává Assembly patří objekt představující dynamická sestavení obsahující definice typu obecný typ parametru. (Přepisuje Type.Assembly.)
Veřejná vlastnostAssemblyQualifiedNameZíská null ve všech případech. (Přepisuje Type.AssemblyQualifiedName.)
Veřejná vlastnostAttributesZíská atributy přidružené Type. (Zděděno z Type.)
Veřejná vlastnostBaseTypeZíská omezení základního typu obecný typ parametru. (Přepisuje Type.BaseType.)
Veřejná vlastnostContainsGenericParametersZíská true ve všech případech. (Přepisuje Type.ContainsGenericParameters.)
Veřejná vlastnostDeclaringMethodZískává MethodInfo , představuje-li deklarující metoda aktuální GenericTypeParameterBuilder představuje parametr typu Obecné metody. (Přepisuje Type.DeclaringMethod.)
Veřejná vlastnostDeclaringTypeZískává obecný typ definice nebo definice Obecná metoda, do které patří obecný typ parametru. (Přepisuje Type.DeclaringType.)
Veřejná vlastnostFullNameZíská null ve všech případech. (Přepisuje Type.FullName.)
Veřejná vlastnostGenericParameterAttributesKombinace získá GenericParameterAttributes příznaky, které popisují Kovariance a zvláštní omezení aktuální obecný typ parametru. (Zděděno z Type.)
Veřejná vlastnostGenericParameterPositionZískává pozici parametr typ v seznamu Typ parametru obecný typ nebo metodu, která deklaraci parametru. (Přepisuje Type.GenericParameterPosition.)
Veřejná vlastnostGUIDPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GUID.)
Veřejná vlastnostHasElementTypeZíská hodnotu označující zda aktuální Type zahrnuje nebo odkazuje na jiný typ; To znamená, zda aktuální Type je v poli, ukazatel, nebo je předán odkaz. (Zděděno z Type.)
Veřejná vlastnostIsAbstractZíská hodnotu označující zda Type je abstraktní a musí být přepsána. (Zděděno z Type.)
Veřejná vlastnostIsAnsiClassZíská hodnotu označující zda řetězec formát atributu AnsiClass je Type. (Zděděno z Type.)
Veřejná vlastnostIsArrayZíská hodnotu označující zda Type je pole. (Zděděno z Type.)
Veřejná vlastnostIsAutoClassZíská hodnotu označující zda řetězec formát atributu AutoClass je Type. (Zděděno z Type.)
Veřejná vlastnostIsAutoLayoutZíská hodnotu označující zda atribut třídy rozložení AutoLayout je Type. (Zděděno z Type.)
Veřejná vlastnostIsByRefZíská hodnotu označující zda Type je předán odkaz. (Zděděno z Type.)
Veřejná vlastnostIsClassZíská hodnotu označující zda Type je třída; není typ hodnoty nebo rozhraní. (Zděděno z Type.)
Veřejná vlastnostIsCOMObjectZíská hodnotu označující zda Type je objekt COM. (Zděděno z Type.)
Veřejná vlastnostIsContextfulZíská hodnotu označující zda Type může být hostitelem v kontextu. (Zděděno z Type.)
Veřejná vlastnostIsEnumZíská hodnotu označující zda aktuální Type představuje výčet. (Zděděno z Type.)
Veřejná vlastnostIsExplicitLayoutZíská hodnotu označující zda atribut třídy rozložení ExplicitLayout je Type. (Zděděno z Type.)
Veřejná vlastnostIsGenericParameterZíská true ve všech případech. (Přepisuje Type.IsGenericParameter.)
Veřejná vlastnostIsGenericTypeVrátí false ve všech případech. (Přepisuje Type.IsGenericType.)
Veřejná vlastnostIsGenericTypeDefinitionZíská false ve všech případech. (Přepisuje Type.IsGenericTypeDefinition.)
Veřejná vlastnostIsImportZíská hodnotu označující zda TypeComImportAttribute atribut, uvádějící, že byl dovezen ze knihovny COM typu. (Zděděno z Type.)
Veřejná vlastnostIsInterfaceZíská hodnotu označující zda Type je rozhraní; nejsou třídy nebo hodnotu typu. (Zděděno z Type.)
Veřejná vlastnostIsLayoutSequentialZíská hodnotu označující zda atribut třídy rozložení SequentialLayout je Type. (Zděděno z Type.)
Veřejná vlastnostIsMarshalByRefZíská hodnotu označující zda Type je zařazen podle odkazu. (Zděděno z Type.)
Veřejná vlastnostIsNestedZíská hodnotu označující zda aktuální Type objekt představuje typ, jehož definici je vnořená uvnitř definice jiného typu. (Zděděno z Type.)
Veřejná vlastnostIsNestedAssemblyZíská hodnotu označující zda Type je vnořená a viditelná pouze v rámci vlastní sestavení. (Zděděno z Type.)
Veřejná vlastnostIsNestedFamANDAssemZíská hodnotu označující zda Type je vnořená a viditelné pouze pro třídy, které patří do vlastní rodiny a vlastní sestavení. (Zděděno z Type.)
Veřejná vlastnostIsNestedFamilyZíská hodnotu označující zda Type je vnořená a viditelná pouze v rámci své vlastní řady. (Zděděno z Type.)
Veřejná vlastnostIsNestedFamORAssemZíská hodnotu označující zda Type je vnořená a viditelné pouze třídy, které patří buď vlastní řady nebo vlastní sestavení. (Zděděno z Type.)
Veřejná vlastnostIsNestedPrivateZíská hodnotu označující zda Type je vnořené a deklarovaný soukromé. (Zděděno z Type.)
Veřejná vlastnostIsNestedPublicZíská hodnotu určující vnořené a veřejné deklarované třídy. (Zděděno z Type.)
Veřejná vlastnostIsNotPublicZíská hodnotu označující zda Type je deklarována veřejnosti. (Zděděno z Type.)
Veřejná vlastnostIsPointerZíská hodnotu označující zda Type je ukazatel. (Zděděno z Type.)
Veřejná vlastnostIsPrimitiveZíská hodnotu označující zda Type je jedním z primitivní typy. (Zděděno z Type.)
Veřejná vlastnostIsPublicZíská hodnotu označující zda Type je deklarována veřejnosti. (Zděděno z Type.)
Veřejná vlastnostIsSealedZíská hodnotu označující zda Type je deklarována zapečetěné. (Zděděno z Type.)
Veřejná vlastnostIsSecurityCriticalZíská hodnotu označující, zda je důležité zabezpečení nebo zabezpečení důležité pro bezpečné na aktuální úrovni důvěryhodnosti aktuální typ a proto lze provádět operace kritické. (Zděděno z Type.)
Veřejná vlastnostIsSecuritySafeCriticalZíská hodnotu, která označuje, zda je aktuální typ zabezpečení důležité pro bezpečné na aktuální úrovni důvěryhodnosti; zda ji lze provádět operace kritické a přístupné průhledné kód. (Zděděno z Type.)
Veřejná vlastnostIsSecurityTransparentZíská hodnotu označující, zda aktuální typ na aktuální úrovni důvěryhodnosti je transparentní a nelze proto provádět operace kritické. (Zděděno z Type.)
Veřejná vlastnostIsSerializableZíská hodnotu označující zda Type serializovat. (Zděděno z Type.)
Veřejná vlastnostIsSpecialNameZíská hodnotu označující zda Type má název, který vyžaduje zvláštní zacházení. (Zděděno z Type.)
Veřejná vlastnostIsUnicodeClassZíská hodnotu označující zda řetězec formát atributu UnicodeClass je Type. (Zděděno z Type.)
Veřejná vlastnostIsValueTypeZíská hodnotu označující zda Type je typ hodnoty. (Zděděno z Type.)
Veřejná vlastnostIsVisibleZíská hodnotu označující zda Type přístupná pro kód vně sestavení. (Zděděno z Type.)
Veřejná vlastnostMemberTypeZískává MemberTypes hodnotu označující, že tento člen je typ nebo vnořeného typu. (Zděděno z Type.)
Veřejná vlastnostMetadataTokenZíská hodnotu určující prvek metadat. (Zděděno z MemberInfo.)
Veřejná vlastnostModuleZíská dynamického modulu obsahujícího obecný typ parametru. (Přepisuje Type.Module.)
Veřejná vlastnostNameZíská název obecný typ parametru. (Přepisuje MemberInfo.Name.)
Veřejná vlastnostNamespaceZíská null ve všech případech. (Přepisuje Type.Namespace.)
Veřejná vlastnostReflectedTypeZískává Type objekt, který byl použit k získání GenericTypeParameterBuilder. (Přepisuje Type.ReflectedType.)
Veřejná vlastnostStructLayoutAttributeZískává StructLayoutAttribute , který popisuje rozložení typu aktuální. (Zděděno z Type.)
Veřejná vlastnostTypeHandlePro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.TypeHandle.)
Veřejná vlastnostTypeInitializerInicializátor pro získává Type. (Zděděno z Type.)
Veřejná vlastnostUnderlyingSystemTypeZíská obecný typ parametru. (Přepisuje Type.UnderlyingSystemType.)
Na začátek

  NázevPopis
Veřejná metodaEquals(Object)Testuje, zda je daný objekt instancí EventToken a je rovna aktuální instance. (Přepisuje Type.Equals(Object).)
Veřejná metodaEquals(Type)Určuje, zda aktuální typ základního systému Type je stejný jako základní typ zadaného systému Type. (Zděděno z Type.)
Chráněná metodaFinalize

Umožňuje objektu pokusit se uvolnit prostředky a provést další operace vyčištění předtím, než je odstraněn při uvolňování paměti.

(Zděděno z Object.)
Veřejná metodaFindInterfacesVrátí pole Type objekty představující filtrovaný seznam rozhraní implementováno nebo zděděn aktuální Type. (Zděděno z Type.)
Veřejná metodaFindMembersFiltrované pole vrátí MemberInfo objekty typu zadaného členu. (Zděděno z Type.)
Veřejná metodaGetArrayRankZíská číslo dimenze v Array. (Zděděno z Type.)
Chráněná metodaGetAttributeFlagsImplPři přepsání v odvozené třídě implementuje Attributes Vlastnosti a získá bitovou masku označují atributy spojené s Type. (Zděděno z Type.)
Veřejná metodaGetConstructor(Type[])Hledá veřejný konstruktor instance jehož parametry odpovídají typům určeného pole. (Zděděno z Type.)
Veřejná metodaGetConstructor(BindingFlags, Binder, Type[], ParameterModifier[])Hledá konstruktoru, jehož parametry odpovídají typy zadaný argument a modifikátory pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetConstructor(BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])Hledá konstruktoru, jehož parametry odpovídají zadaný argument typy a modifikátory pomocí omezení zadané vazbě a konvence volání zadané. (Zděděno z Type.)
Chráněná metodaGetConstructorImplKdyž v odvozené třídě hledá konstruktoru, jehož parametry odpovídají typy zadaný argument a modifikátory, použití omezení zadané vazbě a konvence volání zadané. (Zděděno z Type.)
Veřejná metodaGetConstructors()Vrátí Veřejné konstruktory definované pro aktuální Type. (Zděděno z Type.)
Veřejná metodaGetConstructors(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetConstructors(BindingFlags).)
Veřejná metodaGetCustomAttributes(Boolean)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje MemberInfo.GetCustomAttributes(Boolean).)
Veřejná metodaGetCustomAttributes(Type, Boolean)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje MemberInfo.GetCustomAttributes(Type, Boolean).)
Veřejná metodaGetCustomAttributesDataVrátí seznam CustomAttributeData objekty reprezentující data o atributech, které byly použity člena cílové. (Zděděno z MemberInfo.)
Veřejná metodaGetDefaultMembersHledá členy definované pro aktuální Type jehož DefaultMemberAttribute je sada. (Zděděno z Type.)
Veřejná metodaGetElementTypeVyvolá NotSupportedException ve všech případech. (Přepisuje Type.GetElementType().)
Veřejná metodaGetEnumNameVrátí název konstanty určené hodnotou pro aktuální typ výčtu. (Zděděno z Type.)
Veřejná metodaGetEnumNamesVrátí jména členů aktuální typ výčtu. (Zděděno z Type.)
Veřejná metodaGetEnumUnderlyingTypeVrátí základní typ aktuální typ výčtu. (Zděděno z Type.)
Veřejná metodaGetEnumValuesVrátí matice hodnot konstanty aktuální typ výčtu. (Zděděno z Type.)
Veřejná metodaGetEvent(String)Vrátí EventInfo objekt představující zadaného veřejné události. (Zděděno z Type.)
Veřejná metodaGetEvent(String, BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetEvent(String, BindingFlags).)
Veřejná metodaGetEvents()Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetEvents().)
Veřejná metodaGetEvents(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetEvents(BindingFlags).)
Veřejná metodaGetField(String)Hledá se zadaným názvem pole veřejné. (Zděděno z Type.)
Veřejná metodaGetField(String, BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetField(String, BindingFlags).)
Veřejná metodaGetFields()Vrátí Veřejná pole aktuální Type. (Zděděno z Type.)
Veřejná metodaGetFields(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetFields(BindingFlags).)
Veřejná metodaGetGenericArgumentsObecný typ parametrů není platný. (Přepisuje Type.GetGenericArguments().)
Veřejná metodaGetGenericParameterConstraintsVrátí pole Type objekty, které představují omezení na aktuální obecný typ parametru. (Zděděno z Type.)
Veřejná metodaGetGenericTypeDefinitionObecný typ parametrů není platný. (Přepisuje Type.GetGenericTypeDefinition().)
Veřejná metodaGetHashCodeVrátí aktuální instance kód hash 32bitové celé číslo. (Přepisuje Type.GetHashCode().)
Veřejná metodaGetInterface(String)Vyhledá rozhraní se zadaným názvem. (Zděděno z Type.)
Veřejná metodaGetInterface(String, Boolean)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetInterface(String, Boolean).)
Veřejná metodaGetInterfaceMapPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetInterfaceMap(Type).)
Veřejná metodaGetInterfacesPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetInterfaces().)
Veřejná metodaGetMember(String)Hledá členy veřejné se zadaným názvem. (Zděděno z Type.)
Veřejná metodaGetMember(String, BindingFlags)Vyhledá zadané členy pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetMember(String, MemberTypes, BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetMember(String, MemberTypes, BindingFlags).)
Veřejná metodaGetMembers()Vrací všechny veřejné členy aktuální Type. (Zděděno z Type.)
Veřejná metodaGetMembers(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetMembers(BindingFlags).)
Veřejná metodaGetMethod(String)Hledá veřejná metoda se zadaným názvem. (Zděděno z Type.)
Veřejná metodaGetMethod(String, BindingFlags)Vyhledá určenou metodu pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetMethod(String, Type[])Vyhledá zadaný veřejná metoda, jehož parametry odpovídají typům zadaný argument. (Zděděno z Type.)
Veřejná metodaGetMethod(String, Type[], ParameterModifier[])Vyhledá zadaný veřejná metoda jehož parametry odpovídají typy zadaný argument a modifikátory. (Zděděno z Type.)
Veřejná metodaGetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[])Vyhledá určenou metodu, jehož parametry odpovídají typy zadaný argument a modifikátory pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[])Vyhledá určenou metodu, jehož parametry odpovídají zadaný argument typy a modifikátory pomocí omezení zadané vazbě a konvence volání zadané. (Zděděno z Type.)
Chráněná metodaGetMethodImplKdyž v odvozené třídě vyhledá určenou metodu, jehož parametry odpovídají typy zadaný argument a modifikátory, použití omezení zadané vazbě a konvence volání zadané. (Zděděno z Type.)
Veřejná metodaGetMethods()Vrátí veřejné metody aktuální Type. (Zděděno z Type.)
Veřejná metodaGetMethods(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetMethods(BindingFlags).)
Veřejná metodaGetNestedType(String)Hledá veřejný vnořený typ se zadaným názvem. (Zděděno z Type.)
Veřejná metodaGetNestedType(String, BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetNestedType(String, BindingFlags).)
Veřejná metodaGetNestedTypes()Vrátí veřejné typy vnořených v aktuálním Type. (Zděděno z Type.)
Veřejná metodaGetNestedTypes(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetNestedTypes(BindingFlags).)
Veřejná metodaGetProperties()Vrátí veřejné vlastnosti aktuální Type. (Zděděno z Type.)
Veřejná metodaGetProperties(BindingFlags)Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.GetProperties(BindingFlags).)
Veřejná metodaGetProperty(String)Hledá veřejnou vlastnost se zadaným názvem. (Zděděno z Type.)
Veřejná metodaGetProperty(String, BindingFlags)Vyhledá zadaný vlastností pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetProperty(String, Type)Hledá veřejnou vlastnost s zadaný název a typ návratu. (Zděděno z Type.)
Veřejná metodaGetProperty(String, Type[])Vyhledá zadaný veřejnou vlastnost jehož parametry odpovídají typům zadaný argument. (Zděděno z Type.)
Veřejná metodaGetProperty(String, Type, Type[])Vyhledá zadaný veřejnou vlastnost jehož parametry odpovídají typům zadaný argument. (Zděděno z Type.)
Veřejná metodaGetProperty(String, Type, Type[], ParameterModifier[])Vyhledá zadaný veřejnou vlastnost jehož parametry odpovídají typy zadaný argument a modifikátory. (Zděděno z Type.)
Veřejná metodaGetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[])Vyhledá určenou vlastnost, jehož parametry odpovídají typy zadaný argument a modifikátory pomocí omezení zadané vazbě. (Zděděno z Type.)
Chráněná metodaGetPropertyImplKdyž přepsán v odvozené třídě vyhledá určenou vlastnost, jehož parametry odpovídají typy zadaný argument a modifikátory pomocí omezení zadané vazbě. (Zděděno z Type.)
Veřejná metodaGetType()Načte aktuální Type. (Zděděno z Type.)
Chráněná metodaGetTypeCodeImplVrátí základní kód typu zadaného Type. (Zděděno z Type.)
Chráněná metodaHasElementTypeImplPři přepsání v odvozené třídě implementuje HasElementType Vlastnosti a určuje, zda aktuální Type zahrnuje nebo odkazuje na jiný typ; To znamená, zda aktuální Type je v poli, ukazatel, nebo je předán odkaz. (Zděděno z Type.)
Veřejná metodaInvokeMember(String, BindingFlags, Binder, Object, Object[])Spustí zadaný člen pomocí zadané vazbě omezení a seznam zadaný argument shoda. (Zděděno z Type.)
Veřejná metodaInvokeMember(String, BindingFlags, Binder, Object, Object[], CultureInfo)Spustí zadaný člen pomocí omezení zadané vazbě a odpovídající seznam zadaný argument a kultury. (Zděděno z Type.)
Veřejná metodaInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])Pro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).)
Chráněná metodaIsArrayImplPři přepsán v odvozené třídě implementuje IsArray vlastnost a určuje, zda Type je pole. (Zděděno z Type.)
Veřejná metodaIsAssignableFromPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.IsAssignableFrom(Type).)
Chráněná metodaIsByRefImplPři přepsání v odvozené třídě implementuje IsByRef vlastnost a určuje, zda Type předán odkaz. (Zděděno z Type.)
Chráněná metodaIsCOMObjectImplPři přepsání v odvozené třídě implementuje IsCOMObject vlastnost a určuje, zda Type je objekt COM. (Zděděno z Type.)
Chráněná metodaIsContextfulImplImplementuje IsContextful Vlastnosti a určuje, zda Type může být hostitelem v kontextu. (Zděděno z Type.)
Veřejná metodaIsDefinedPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje MemberInfo.IsDefined(Type, Boolean).)
Veřejná metodaIsEnumDefinedVrátí hodnotu, která označuje, zda zadaná hodnota existuje v aktuální typ výčtu. (Zděděno z Type.)
Veřejná metodaIsEquivalentToUrčuje, zda dva typy COM mají stejnou identitu a jsou způsobilé pro typ rovnocennost. (Zděděno z Type.)
Veřejná metodaIsInstanceOfTypeUrčuje, zda je zadaný objekt aktuální instanci Type. (Zděděno z Type.)
Chráněná metodaIsMarshalByRefImplImplementuje IsMarshalByRef Vlastnosti a určuje, zda Type zařazen podle odkazu. (Zděděno z Type.)
Chráněná metodaIsPointerImplPři přepsání v odvozené třídě implementuje IsPointer vlastnost a určuje, zda Type je ukazatel. (Zděděno z Type.)
Chráněná metodaIsPrimitiveImplPři přepsání v odvozené třídě implementuje IsPrimitive vlastnost a určuje, zda Type je jedním z primitivní typy. (Zděděno z Type.)
Veřejná metodaIsSubclassOfPro obecný typ neúplné parametry nejsou podporovány. (Přepisuje Type.IsSubclassOf(Type).)
Chráněná metodaIsValueTypeImplImplementuje IsValueType Vlastnosti a určuje, zda Type je typ hodnoty; nejsou třídy nebo rozhraní. (Zděděno z Type.)
Veřejná metodaMakeArrayType()Vrátí hodnotu typu jednorozměrné pole, jehož typ prvku je obecný typ parametru. (Přepisuje Type.MakeArrayType().)
Veřejná metodaMakeArrayType(Int32)Vrací typ pole, jehož typ prvku je obecný typ parametru s zadaný počet rozměrů. (Přepisuje Type.MakeArrayType(Int32).)
Veřejná metodaMakeByRefTypeVrátí Type objekt, který představuje obecný typ parametru při předán jako parametr odkaz. (Přepisuje Type.MakeByRefType().)
Veřejná metodaMakeGenericTypeNeúplné obecný typ parametrů není platný. (Přepisuje Type.MakeGenericType(Type[]).)
Veřejná metodaMakePointerTypeVrátí Type objekt, který představuje ukazatel na aktuální obecný typ parametru. (Přepisuje Type.MakePointerType().)
Chráněná metodaMemberwiseClone Vytvoří mělkou kopii aktuálního Object. (Zděděno z Object.)
Veřejná metodaSetBaseTypeConstraintNastaví základní typ, který typ musí dědit se nahrazuje parametr typu.
Veřejná metodaSetCustomAttribute(CustomAttributeBuilder)Nastavte vlastní atribut Tvůrce vlastní atribut.
Veřejná metodaSetCustomAttribute(ConstructorInfo, Byte[])Nastaví vlastní atribut pomocí zadaného vlastního atributu blob.
Veřejná metodaSetGenericParameterAttributesNastaví vlastnosti rozptyl a zvláštní omezení obecného parametru, například omezení konstruktor.
Veřejná metodaSetInterfaceConstraintsNastaví rozhraní, které musí implementovat typ se nahrazuje parametr typu.
Veřejná metodaToStringVrací řetězcové vyjádření obecný typ parametru. (Přepisuje Type.ToString().)
Na začátek

  NázevPopis
Explicitní implementace rozhraníSoukromá metoda_MemberInfo.GetIDsOfNamesMapuje sadu názvů identifikátorů odeslání odpovídající sadu. (Zděděno z MemberInfo.)
Explicitní implementace rozhraníSoukromá metoda_MemberInfo.GetTypeZískává Type představující objekt MemberInfo Třída (Zděděno z MemberInfo.)
Explicitní implementace rozhraníSoukromá metoda_MemberInfo.GetTypeInfoNačte informace o objektu, který lze získat informace o rozhraní typu typu. (Zděděno z MemberInfo.)
Explicitní implementace rozhraníSoukromá metoda_MemberInfo.GetTypeInfoCountVyhledá číslo rozhraní typu informací, že objekt obsahuje (0 nebo 1). (Zděděno z MemberInfo.)
Explicitní implementace rozhraníSoukromá metoda_MemberInfo.InvokePoskytuje přístup k vlastnostem a metodám vystaven objekt. (Zděděno z MemberInfo.)
Explicitní implementace rozhraníSoukromá metoda_Type.GetIDsOfNamesMapuje sadu názvů identifikátorů odeslání odpovídající sadu. (Zděděno z Type.)
Explicitní implementace rozhraníSoukromá metoda_Type.GetTypeInfoNačte informace o objektu, který lze získat informace o rozhraní typu typu. (Zděděno z Type.)
Explicitní implementace rozhraníSoukromá metoda_Type.GetTypeInfoCountVyhledá číslo rozhraní typu informací, že objekt obsahuje (0 nebo 1). (Zděděno z Type.)
Explicitní implementace rozhraníSoukromá metoda_Type.InvokePoskytuje přístup k vlastnostem a metodám vystaven objekt. (Zděděno z Type.)
Na začátek

Pole lze získat GenericTypeParameterBuilder objektů pomocí TypeBuilder.DefineGenericParameters způsob přidání dynamického typu, čímž obecný typ nebo pomocí parametrů typu MethodBuilder.DefineGenericParameters Metoda přidat parametry typu dynamická metoda. Použití GenericTypeParameterBuilder objektů přidat omezení parametry typu. Jsou tři typy omezení:

  • Základní typ omezení určuje, že jakýkoli typ přiřazené k parametru obecný typ musí pocházet z určitého základního typu. Pomocí tohoto omezení nastavit SetBaseTypeConstraint metody.

  • Omezení rozhraní určuje, že jakýkoli typ přiřazené k parametru obecný typ musí implementovat rozhraní určitého. Nastavit omezení rozhraní SetInterfaceConstraints metody.

  • Zvláštní omezení určit libovolný typ přiřazené k parametru obecný typ musí mít výchozí konstruktor, musí být typu odkazu nebo musí být typu hodnoty. Nastavit pomocí zvláštních omezení pro parametr typu SetGenericParameterAttributes metody.

Omezení rozhraní a zvláštní omezení nelze načíst pomocí metody GenericTypeParameterBuilder Třída Po vytvoření obecný typ, který obsahuje parametry typu pomocí jeho Type objekt zrcadlit omezení. Použít Type.GetGenericArguments získat parametry typu a pro každý parametr typu pomocí metody Type.GetGenericParameterConstraints metodu základní typ omezení a omezení rozhraní a Type.GenericParameterAttributes vlastnost získat zvláštní omezení.

Následující příklad kódu vytvoří dva parametry typu obecný typ a uloží je v sestavení GenericEmitExample1.dll. Můžete použít Ildasm.exe (MSIL Disassembler) zobrazení generovaných typy. Podrobnější vysvětlení kroky při definování dynamické obecný typ viz How to: Define a Generic Type with Reflection Emit.


using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Collections.Generic;

// Define a trivial base class and two trivial interfaces 
// to use when demonstrating constraints.
//
public class ExampleBase {}

public interface IExampleA {}

public interface IExampleB {}

// Define a trivial type that can substitute for type parameter 
// TSecond.
//
public class ExampleDerived : ExampleBase, IExampleA, IExampleB {}


public class Example
{
    public static void Main()
    {
        // Define a dynamic assembly to contain the sample type. The
        // assembly will not be run, but only saved to disk, so
        // AssemblyBuilderAccess.Save is specified.
        //
        AppDomain myDomain = AppDomain.CurrentDomain;
        AssemblyName myAsmName = new AssemblyName("GenericEmitExample1");
        AssemblyBuilder myAssembly = 
            myDomain.DefineDynamicAssembly(myAsmName, 
                AssemblyBuilderAccess.RunAndSave);

        // An assembly is made up of executable modules. For a single-
        // module assembly, the module name and file name are the same 
        // as the assembly name. 
        //
        ModuleBuilder myModule = 
            myAssembly.DefineDynamicModule(myAsmName.Name, 
               myAsmName.Name + ".dll");

        // Get type objects for the base class trivial interfaces to
        // be used as constraints.
        //
        Type baseType = typeof(ExampleBase);
        Type interfaceA = typeof(IExampleA);
        Type interfaceB = typeof(IExampleB);

        // Define the sample type.
        //
        TypeBuilder myType = 
            myModule.DefineType("Sample", TypeAttributes.Public);

        Console.WriteLine("Type 'Sample' is generic: {0}", 
            myType.IsGenericType);

        // Define type parameters for the type. Until you do this, 
        // the type is not generic, as the preceding and following 
        // WriteLine statements show. The type parameter names are
        // specified as an array of strings. To make the code
        // easier to read, each GenericTypeParameterBuilder is placed
        // in a variable with the same name as the type parameter.
        // 
        string[] typeParamNames = {"TFirst", "TSecond"};
        GenericTypeParameterBuilder[] typeParams = 
            myType.DefineGenericParameters(typeParamNames);

        GenericTypeParameterBuilder TFirst = typeParams[0];
        GenericTypeParameterBuilder TSecond = typeParams[1];

        Console.WriteLine("Type 'Sample' is generic: {0}", 
            myType.IsGenericType);

        // Apply constraints to the type parameters.
        //
        // A type that is substituted for the first parameter, TFirst,
        // must be a reference type and must have a parameterless
        // constructor.
        TFirst.SetGenericParameterAttributes(
            GenericParameterAttributes.DefaultConstructorConstraint |
            GenericParameterAttributes.ReferenceTypeConstraint);

        // A type that is substituted for the second type
        // parameter must implement IExampleA and IExampleB, and
        // inherit from the trivial test class ExampleBase. The
        // interface constraints are specified as an array 
        // containing the interface types.
        TSecond.SetBaseTypeConstraint(baseType);
        Type[] interfaceTypes = {interfaceA, interfaceB};
        TSecond.SetInterfaceConstraints(interfaceTypes);

        // The following code adds a private field named ExampleField,
        // of type TFirst.
        FieldBuilder exField = 
            myType.DefineField("ExampleField", TFirst, 
                FieldAttributes.Private);

        // Define a static method that takes an array of TFirst and 
        // returns a List<TFirst> containing all the elements of 
        // the array. To define this method it is necessary to create
        // the type List<TFirst> by calling MakeGenericType on the
        // generic type definition, List<T>. (The T is omitted with
        // the typeof operator when you get the generic type 
        // definition.) The parameter type is created by using the
        // MakeArrayType method. 
        //
        Type listOf = typeof(List<>);
        Type listOfTFirst = listOf.MakeGenericType(TFirst);
        Type[] mParamTypes = {TFirst.MakeArrayType()};

        MethodBuilder exMethod = 
            myType.DefineMethod("ExampleMethod", 
                MethodAttributes.Public | MethodAttributes.Static, 
                listOfTFirst, 
                mParamTypes);

        // Emit the method body. 
        // The method body consists of just three opcodes, to load 
        // the input array onto the execution stack, to call the 
        // List<TFirst> constructor that takes IEnumerable<TFirst>,
        // which does all the work of putting the input elements into
        // the list, and to return, leaving the list on the stack. The
        // hard work is getting the constructor.
        // 
        // The GetConstructor method is not supported on a 
        // GenericTypeParameterBuilder, so it is not possible to get 
        // the constructor of List<TFirst> directly. There are two
        // steps, first getting the constructor of List<T> and then
        // calling a method that converts it to the corresponding 
        // constructor of List<TFirst>.
        //
        // The constructor needed here is the one that takes an
        // IEnumerable<T>. Note, however, that this is not the 
        // generic type definition of IEnumerable<T>; instead, the
        // T from List<T> must be substituted for the T of 
        // IEnumerable<T>. (This seems confusing only because both
        // types have type parameters named T. That is why this example
        // uses the somewhat silly names TFirst and TSecond.) To get
        // the type of the constructor argument, take the generic
        // type definition IEnumerable<T> (expressed as 
        // IEnumerable<> when you use the typeof operator) and 
        // call MakeGenericType with the first generic type parameter
        // of List<T>. The constructor argument list must be passed
        // as an array, with just one argument in this case.
        // 
        // Now it is possible to get the constructor of List<T>,
        // using GetConstructor on the generic type definition. To get
        // the constructor of List<TFirst>, pass List<TFirst> and
        // the constructor from List<T> to the static
        // TypeBuilder.GetConstructor method.
        //
        ILGenerator ilgen = exMethod.GetILGenerator();

        Type ienumOf = typeof(IEnumerable<>);
        Type TfromListOf = listOf.GetGenericArguments()[0];
        Type ienumOfT = ienumOf.MakeGenericType(TfromListOf);
        Type[] ctorArgs = {ienumOfT};

        ConstructorInfo ctorPrep = listOf.GetConstructor(ctorArgs);
        ConstructorInfo ctor = 
            TypeBuilder.GetConstructor(listOfTFirst, ctorPrep);

        ilgen.Emit(OpCodes.Ldarg_0);
        ilgen.Emit(OpCodes.Newobj, ctor);
        ilgen.Emit(OpCodes.Ret);

        // Create the type and save the assembly. 
        Type finished = myType.CreateType();
        myAssembly.Save(myAsmName.Name+".dll");

        // Invoke the method.
        // ExampleMethod is not generic, but the type it belongs to is
        // generic, so in order to get a MethodInfo that can be invoked
        // it is necessary to create a constructed type. The Example 
        // class satisfies the constraints on TFirst, because it is a 
        // reference type and has a default constructor. In order to
        // have a class that satisfies the constraints on TSecond, 
        // this code example defines the ExampleDerived type. These
        // two types are passed to MakeGenericMethod to create the
        // constructed type.
        //
        Type[] typeArgs = {typeof(Example), typeof(ExampleDerived)};
        Type constructed = finished.MakeGenericType(typeArgs);
        MethodInfo mi = constructed.GetMethod("ExampleMethod");

        // Create an array of Example objects, as input to the generic
        // method. This array must be passed as the only element of an 
        // array of arguments. The first argument of Invoke is 
        // null, because ExampleMethod is static. Display the count
        // on the resulting List<Example>.
        // 
        Example[] input = {new Example(), new Example()};
        object[] arguments = {input};

        List<Example> listX = 
            (List<Example>) mi.Invoke(null, arguments);

        Console.WriteLine(
            "\nThere are {0} elements in the List<Example>.", 
            listX.Count);

        DisplayGenericParameters(finished);
    }

    private static void DisplayGenericParameters(Type t)
    {
        if (!t.IsGenericType)
        {
            Console.WriteLine("Type '{0}' is not generic.");
            return;
        }
        if (!t.IsGenericTypeDefinition) 
        {
            t = t.GetGenericTypeDefinition();
        }

        Type[] typeParameters = t.GetGenericArguments();
        Console.WriteLine("\nListing {0} type parameters for type '{1}'.",
            typeParameters.Length, t);

        foreach( Type tParam in typeParameters )
        {
            Console.WriteLine("\r\nType parameter {0}:", tParam.ToString());

            foreach( Type c in tParam.GetGenericParameterConstraints() )
            {
                if (c.IsInterface)
                {
                    Console.WriteLine("    Interface constraint: {0}", c);
                }
                else
                {
                    Console.WriteLine("    Base type constraint: {0}", c);
                }
            }

            ListConstraintAttributes(tParam);
        }
    }

    // List the constraint flags. The GenericParameterAttributes
    // enumeration contains two sets of attributes, variance and
    // constraints. For this example, only constraints are used.
    //
    private static void ListConstraintAttributes(Type t)
    {
        // Mask off the constraint flags. 
        GenericParameterAttributes constraints = 
            t.GenericParameterAttributes & GenericParameterAttributes.SpecialConstraintMask;

        if ((constraints & GenericParameterAttributes.ReferenceTypeConstraint)
            != GenericParameterAttributes.None) 
        {
            Console.WriteLine("    ReferenceTypeConstraint");
        }

        if ((constraints & GenericParameterAttributes.NotNullableValueTypeConstraint)
            != GenericParameterAttributes.None) 
        {
            Console.WriteLine("    NotNullableValueTypeConstraint");
        }

        if ((constraints & GenericParameterAttributes.DefaultConstructorConstraint)
            !=GenericParameterAttributes.None) 
        {
            Console.WriteLine("    DefaultConstructorConstraint");
        }
    }
}

/* This code example produces the following output:

Type 'Sample' is generic: False
Type 'Sample' is generic: True

There are 2 elements in the List<Example>.

Listing 2 type parameters for type 'Sample[TFirst,TSecond]'.

Type parameter TFirst:
    ReferenceTypeConstraint
    DefaultConstructorConstraint

Type parameter TSecond:
    Interface constraint: IExampleA
    Interface constraint: IExampleB
    Base type constraint: ExampleBase
 */


.NET Framework

Podporováno v: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Podporováno v: 4, 3.5 SP1

Windows 7, Windows Vista SP1 nebo novější, Windows XP SP3, 64bitová verze systému Windows XP SP2, Windows Server 2008 (není podpora v roli Server Core), Windows Server 2008 R2 (podpora v roli Server Core s aktualizací SP1 nebo novější), Windows Server 2003 SP2

.NET Framework nepodporuje některé verze platforem. Seznam podporovaných verzí naleznete v tématu Požadavky na systém rozhraní .NET framework.

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.
Zobrazit: