|
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
|
Traduzione
Originale
|
Metodo ModuleBuilder.DefineEnum
Spazio dei nomi: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
public EnumBuilder DefineEnum( string name, TypeAttributes visibility, Type underlyingType )
Parametri
- name
- Tipo: System.String
Il percorso completo del tipo di enumerazione. name non può contenere caratteri null incorporati.
- visibility
- Tipo: System.Reflection.TypeAttributes
Gli attributi del tipo per l'enumerazione. Gli attributi sono tutti i bit definiti da VisibilityMask.
- underlyingType
- Tipo: System.Type
il tipo sottostante per l'enumerazione. Questa operazione deve essere un tipo integer incorporato.
| Eccezione | Condizione |
|---|---|
| ArgumentException | |
| ArgumentNullException |
Nota |
|---|
Nota |
|---|
Nota |
|---|
using System; using System.Reflection; using System.Reflection.Emit; class Example { public static void Main() { // Get the current application domain for the current thread. AppDomain currentDomain = AppDomain.CurrentDomain; // Create a dynamic assembly in the current application domain, // and allow it to be executed and saved to disk. AssemblyName aName = new AssemblyName("TempAssembly"); AssemblyBuilder ab = currentDomain.DefineDynamicAssembly( aName, AssemblyBuilderAccess.RunAndSave); // Define a dynamic module in "TempAssembly" assembly. For a single- // module assembly, the module has the same name as the assembly. ModuleBuilder mb = ab.DefineDynamicModule(aName.Name, aName.Name + ".dll"); // Define a public enumeration with the name "Elevation" and an // underlying type of Integer. EnumBuilder eb = mb.DefineEnum("Elevation", TypeAttributes.Public, typeof(int)); // Define two members, "High" and "Low". eb.DefineLiteral("Low", 0); eb.DefineLiteral("High", 1); // Create the type and save the assembly. Type finished = eb.CreateType(); ab.Save(aName.Name + ".dll"); foreach( object o in Enum.GetValues(finished) ) { Console.WriteLine("{0}.{1} = {2}", finished, o, ((int) o)); } } } /* This code example produces the following output: Elevation.Low = 0 Elevation.High = 1 */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota