Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

FieldBuilder-Klasse

Definiert ein Feld und stellt dieses dar. Diese Klasse kann nicht vererbt werden.

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class FieldBuilder : FieldInfo, 
	_FieldBuilder

Der FieldBuilder-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftAttributesGibt die Attribute dieses Felds an. Diese Eigenschaft ist schreibgeschützt. (Überschreibt FieldInfo.Attributes.)
Öffentliche EigenschaftCustomAttributesRuft eine Auflistung ab, die die benutzerdefinierten Attribute des Members enthält. (Von MemberInfo geerbt.)
Öffentliche EigenschaftDeclaringTypeGibt einen Verweis auf das Type-Objekt für den Typ an, der dieses Feld deklariert. Diese Eigenschaft ist schreibgeschützt. (Überschreibt MemberInfo.DeclaringType.)
Öffentliche EigenschaftFieldHandleGibt das interne Metadatenhandle für dieses Feld an. Diese Eigenschaft ist schreibgeschützt. (Überschreibt FieldInfo.FieldHandle.)
Öffentliche EigenschaftFieldTypeGibt das Type-Objekt an, das den Typ dieses Felds darstellt. Diese Eigenschaft ist schreibgeschützt. (Überschreibt FieldInfo.FieldType.)
Öffentliche EigenschaftIsAssemblyRuft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieses Felds von FieldAttributes.Assembly beschrieben wird, d h. ob das Feld höchstens für andere Typen in derselben Assembly und nicht für abgeleitete Typen außerhalb der Assembly sichtbar ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsFamilyRuft einen Wert ab, der angibt, ob die Sichtbarkeit dieses Felds von FieldAttributes.Family beschrieben wird, d. h., das Feld ist nur innerhalb seiner Klasse und in den abgeleiteten Klassen sichtbar. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsFamilyAndAssemblyRuft einen Wert ab, der angibt, ob die Sichtbarkeit dieses Felds von FieldAttributes.FamANDAssem beschrieben wird, d. h., auf das Feld kann von abgeleiteten Klassen zugegriffen werden, jedoch nur, wenn sich diese in derselben Assembly befinden. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsFamilyOrAssemblyRuft einen Wert ab, der angibt, ob die potenzielle Sichtbarkeit dieses Felds von FieldAttributes.FamORAssem beschrieben wird, d. h., auf das Feld kann von Klassen in derselben Assembly und von abgeleiteten Klassen zugegriffen werden, wobei deren Position keine Rolle spielt. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsInitOnlyRuft einen Wert ab, der angibt, ob das Feld nur im Rumpf des Konstruktors festgelegt werden kann. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsLiteralRuft einen Wert ab, der angibt, ob der Wert während der Kompilierung geschrieben wird und nicht geändert werden kann. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsNotSerializedRuft einen Wert ab, der angibt, ob dieses Feld über das NotSerialized-Attribut verfügt. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsPinvokeImplRuft einen Wert ab, der angibt, ob das entsprechende PinvokeImpl-Attribut in FieldAttributes festgelegt wurde. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsPrivateRuft einen Wert ab, der angibt, ob das Feld privat ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsPublicRuft einen Wert ab, der angibt, ob das Feld öffentlich ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsSecurityCriticalRuft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant oder sicherheitsrelevant und sicher zugänglich ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsSecuritySafeCriticalRuft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant und sicher zugänglich ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsSecurityTransparentRuft einen Wert ab, der angibt, ob das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitstransparent ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsSpecialNameRuft einen Wert ab, der angibt, ob das entsprechende SpecialName-Attribut für den FieldAttributes-Enumerator festgelegt wurde. (Von FieldInfo geerbt.)
Öffentliche EigenschaftIsStaticRuft einen Wert ab, der angibt, ob das Feld statisch ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftMemberTypeRuft einen MemberTypes-Wert ab, der angibt, dass dieser Member ein Feld ist. (Von FieldInfo geerbt.)
Öffentliche EigenschaftMetadataTokenRuft einen Wert ab, der ein Metadatenelement identifiziert. (Von MemberInfo geerbt.)
Öffentliche EigenschaftModuleRuft das Modul ab, in dem der Typ, der dieses Feld enthält, definiert wird. (Überschreibt MemberInfo.Module.)
Öffentliche EigenschaftNameGibt den Namen dieses Felds an. Diese Eigenschaft ist schreibgeschützt. (Überschreibt MemberInfo.Name.)
Öffentliche EigenschaftReflectedTypeGibt den Verweis auf das Type-Objekt an, von dem dieses Objekt erhalten wurde. Diese Eigenschaft ist schreibgeschützt. (Überschreibt MemberInfo.ReflectedType.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeEqualsGibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von FieldInfo geerbt.)
Öffentliche MethodeGetCustomAttributes(Boolean)Gibt alle für dieses Feld definierten benutzerdefinierten Attribute zurück. (Überschreibt MemberInfo.GetCustomAttributes(Boolean).)
Öffentliche MethodeGetCustomAttributes(Type, Boolean)Gibt alle für dieses Feld definierten benutzerdefinierten Attribute zurück, die vom angegebenen Typ bezeichnet werden. (Überschreibt MemberInfo.GetCustomAttributes(Type, Boolean).)
Öffentliche MethodeGetCustomAttributesDataGibt eine Liste von CustomAttributeData-Objekten zurück, die Daten über die für das Ziel übernommenen Attribute darstellen. (Von MemberInfo geerbt.)
Öffentliche MethodeGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von FieldInfo geerbt.)
Öffentliche MethodeGetOptionalCustomModifiersRuft ein Array von Typen ab, die die optionalen benutzerdefinierten Modifizierer des Felds kennzeichnen. (Von FieldInfo geerbt.)
Öffentliche MethodeGetRawConstantValueGibt einen literalen Wert zurück, der dem Feld von einem Compiler zugeordnet wurde. (Von FieldInfo geerbt.)
Öffentliche MethodeGetRequiredCustomModifiersRuft ein Array von Typen ab, die die erforderlichen benutzerdefinierten Modifizierer der Eigenschaft kennzeichnen. (Von FieldInfo geerbt.)
Öffentliche MethodeGetTokenGibt das dieses Feld darstellende Token zurück.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeGetValueRuft den Wert des Felds ab, das vom angegebenen Objekt unterstützt wird. (Überschreibt FieldInfo.GetValue(Object).)
Öffentliche MethodeGetValueDirectGibt den Wert eines Felds zurück, das von einem angegebenen Objekt unterstützt wird. (Von FieldInfo geerbt.)
Öffentliche MethodeIsDefinedGibt an, ob ein Attribut mit dem angegebenen Typ für ein Feld definiert ist. (Überschreibt MemberInfo.IsDefined(Type, Boolean).)
Öffentliche MethodeSetConstantLegt den Standardwert dieses Felds fest.
Öffentliche MethodeSetCustomAttribute(CustomAttributeBuilder)Legt ein benutzerdefiniertes Attribut mit einem Generator für benutzerdefinierte Attribute fest.
Öffentliche MethodeSetCustomAttribute(ConstructorInfo, Byte[])Legt ein benutzerdefiniertes Attribut mithilfe eines angegebenen BLOBs für benutzerdefinierte Attribute fest.
Öffentliche MethodeSetMarshal Veraltet. Beschreibt das systemeigene Marshallen des Felds.
Öffentliche MethodeSetOffsetGibt das Feldlayout an.
Öffentliche MethodeSetValue(Object, Object)Legt den Wert des Felds fest, das vom angegebenen Objekt unterstützt wird. (Von FieldInfo geerbt.)
Öffentliche MethodeSetValue(Object, Object, BindingFlags, Binder, CultureInfo)Legt den Wert des Felds fest, das vom angegebenen Objekt unterstützt wird. (Überschreibt FieldInfo.SetValue(Object, Object, BindingFlags, Binder, CultureInfo).)
Öffentliche MethodeSetValueDirectLegt den Wert des Felds fest, das vom angegebenen Objekt unterstützt wird. (Von FieldInfo geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche ErweiterungsmethodeGetCustomAttribute(Type)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der einem angegebenen Member angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute(Type, Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der in einen angegebenen Member angewendet werden, ab und validiert optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute<T>()Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs ab, der einem angegebenen Member angewendet wird. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttribute<T>(Boolean)Überladen. Ruft ein benutzerdefiniertes Attribut eines angegebenen Typs, der in einen angegebenen Member angewendet werden, ab und validiert optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute ab, die auf einen bestimmten Member angewendet wurden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes(Type)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet wurden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes<T>()Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs ab, die für einen angegebenen Member angewendet wurden. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeGetCustomAttributes<T>(Boolean)Überladen. Ruft eine Auflistung benutzerdefinierter Attribute eines angegebenen Typs, das einen angegebenen Member angewendet werden, ab und validiert optional die Vorgänger dieses Members. (Durch CustomAttributeExtensions definiert.)
Öffentliche ErweiterungsmethodeIsDefinedGibt an, ob benutzerdefinierte Attribute eines angegebenen Typs in einen angegebenen Member angewendet wurden. (Durch CustomAttributeExtensions definiert.)
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_FieldBuilder.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.
Explizite SchnittstellenimplementierungPrivate Methode_FieldBuilder.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.
Explizite SchnittstellenimplementierungPrivate Methode_FieldBuilder.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).
Explizite SchnittstellenimplementierungPrivate Methode_FieldBuilder.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.
Explizite SchnittstellenimplementierungPrivate Methode_FieldInfo.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von FieldInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_FieldInfo.GetTypeRuft ein Type-Objekt ab, das den FieldInfo-Typ darstellt. (Von FieldInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_FieldInfo.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können. (Von FieldInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_FieldInfo.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von FieldInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_FieldInfo.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von FieldInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeRuft ein Type-Objekt ab, das die MemberInfo-Klasse darstellt. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeInfoRuft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können. (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von MemberInfo geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_MemberInfo.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von MemberInfo geerbt.)
Zum Seitenanfang

Ruft eine Instanz von FieldBuilder durch Aufrufen von DefineField, DefineInitializedData oder DefineUninitializedData ab.

HinweisHinweis

Die SetValue-Methode wird derzeit nicht unterstützt. Rufen Sie zum Umgehen des Problems FieldInfo ab, indem Sie eine Reflektion für den abgeschlossenen Typ durchführen, und rufen Sie SetValue auf, um den Wert des Felds festzulegen.

HinweisHinweis

Das auf diesen Typ oder Member angewendete HostProtectionAttribute-Attribut besitzt den folgenden Resources-Eigenschaftswert: MayLeakOnAbort. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Im folgenden Codebeispiel wird die Verwendung von FieldBuilder veranschaulicht.


using System;
using System.Threading;
using System.Reflection;
using System.Reflection.Emit;
using System.Security.Permissions;

public class FieldBuilder_Sample
{
   private static Type CreateType(AppDomain currentDomain)
   {

      // Create an assembly.
      AssemblyName myAssemblyName = new AssemblyName();
      myAssemblyName.Name = "DynamicAssembly";
      AssemblyBuilder myAssembly =
                     currentDomain.DefineDynamicAssembly(myAssemblyName,AssemblyBuilderAccess.Run);
      // Create a dynamic module in Dynamic Assembly.
      ModuleBuilder myModuleBuilder=myAssembly.DefineDynamicModule("MyModule");
      // Define a public class named "MyClass" in the assembly.
      TypeBuilder myTypeBuilder= myModuleBuilder.DefineType("MyClass",TypeAttributes.Public);

      // Define a private String field named "MyField" in the type.
      FieldBuilder myFieldBuilder= myTypeBuilder.DefineField("MyField",
          typeof(string),FieldAttributes.Private|FieldAttributes.Static);
      // Create the constructor.
      Type[] constructorArgs = { typeof(String) };
      ConstructorBuilder constructor = myTypeBuilder.DefineConstructor(
         MethodAttributes.Public, CallingConventions.Standard, constructorArgs);
      ILGenerator constructorIL = constructor.GetILGenerator();
      constructorIL.Emit(OpCodes.Ldarg_0);
      ConstructorInfo superConstructor = typeof(Object).GetConstructor(new Type[0]);
      constructorIL.Emit(OpCodes.Call, superConstructor);
      constructorIL.Emit(OpCodes.Ldarg_0);
      constructorIL.Emit(OpCodes.Ldarg_1);
      constructorIL.Emit(OpCodes.Stfld, myFieldBuilder);
      constructorIL.Emit(OpCodes.Ret);

      // Create the MyMethod method.
      MethodBuilder myMethodBuilder= myTypeBuilder.DefineMethod("MyMethod",
                           MethodAttributes.Public,typeof(String),null);
      ILGenerator methodIL = myMethodBuilder.GetILGenerator();
      methodIL.Emit(OpCodes.Ldarg_0);
      methodIL.Emit(OpCodes.Ldfld, myFieldBuilder);
      methodIL.Emit(OpCodes.Ret);
      Console.WriteLine("Name               :"+myFieldBuilder.Name);
      Console.WriteLine("DeclaringType      :"+myFieldBuilder.DeclaringType);
      Console.WriteLine("Type               :"+myFieldBuilder.FieldType);
      Console.WriteLine("Token              :"+myFieldBuilder.GetToken().Token);
      return myTypeBuilder.CreateType();
   }

   [PermissionSetAttribute(SecurityAction.Demand, Name="FullTrust")]
   public static void Main()
   {
      try
      {
         Type myType = CreateType(Thread.GetDomain());
         // Create an instance of the "HelloWorld" class.
         Object helloWorld = Activator.CreateInstance(myType, new Object[] { "HelloWorld" });
         // Invoke the "MyMethod" method of the "MyClass" class.
         Object myObject  = myType.InvokeMember("MyMethod",
                        BindingFlags.InvokeMethod, null, helloWorld, null);
         Console.WriteLine("MyClass.MyMethod returned: \"" + myObject + "\"");
      }
      catch( Exception e)
      {
         Console.WriteLine("Exception Caught "+e.Message);
      }
  }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.