AssemblyName Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe AssemblyName.
Surcharges
AssemblyName() |
Initialise une nouvelle instance de la classe AssemblyName. |
AssemblyName(String) |
Initialise une nouvelle instance de la classe AssemblyName avec le nom d’affichage spécifié. |
AssemblyName()
- Source:
- AssemblyName.cs
- Source:
- AssemblyName.cs
- Source:
- AssemblyName.cs
Initialise une nouvelle instance de la classe AssemblyName.
public:
AssemblyName();
public AssemblyName ();
Public Sub New ()
Exemples
L’exemple suivant crée un assembly dynamique nommé MyAssembly.exe
et l’enregistre sur votre disque dur. Après avoir exécuté l’exemple, vous pouvez utiliser le Ildasm.exe (désassembleur IL) pour examiner les métadonnées de l’assembly.
using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::Reflection::Emit;
static void MakeAssembly( AssemblyName^ myAssemblyName, String^ fileName )
{
// Get the assembly builder from the application domain associated with the current thread.
AssemblyBuilder^ myAssemblyBuilder = Thread::GetDomain()->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::RunAndSave );
// Create a dynamic module in the assembly.
ModuleBuilder^ myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "MyModule", fileName );
// Create a type in the module.
TypeBuilder^ myTypeBuilder = myModuleBuilder->DefineType( "MyType" );
// Create a method called 'Main'.
MethodBuilder^ myMethodBuilder = myTypeBuilder->DefineMethod( "Main", static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::HideBySig | MethodAttributes::Static), void::typeid, nullptr );
// Get the Intermediate Language generator for the method.
ILGenerator^ myILGenerator = myMethodBuilder->GetILGenerator();
// Use the utility method to generate the IL instructions that print a String* to the console.
myILGenerator->EmitWriteLine( "Hello World!" );
// Generate the 'ret' IL instruction.
myILGenerator->Emit( OpCodes::Ret );
// End the creation of the type.
myTypeBuilder->CreateType();
// Set the method with name 'Main' as the entry point in the assembly.
myAssemblyBuilder->SetEntryPoint( myMethodBuilder );
myAssemblyBuilder->Save( fileName );
}
int main()
{
// Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
AssemblyName^ myAssemblyName = gcnew AssemblyName;
myAssemblyName->Name = "MyAssembly";
myAssemblyName->Version = gcnew Version( "1.0.0.2001" );
MakeAssembly( myAssemblyName, "MyAssembly.exe" );
// Get all the assemblies currently loaded in the application domain.
array<Assembly^>^myAssemblies = Thread::GetDomain()->GetAssemblies();
// Get the dynamic assembly named 'MyAssembly'.
Assembly^ myAssembly = nullptr;
for ( int i = 0; i < myAssemblies->Length; i++ )
{
if ( String::Compare( myAssemblies[ i ]->GetName()->Name, "MyAssembly" ) == 0 )
myAssembly = myAssemblies[ i ];
}
if ( myAssembly != nullptr )
{
Console::WriteLine( "\nDisplaying the assembly name\n" );
Console::WriteLine( myAssembly );
}
}
using System;
using System.Reflection;
using System.Threading;
using System.Reflection.Emit;
public class AssemblyName_Constructor
{
public static void MakeAssembly(AssemblyName myAssemblyName, string fileName)
{
// Get the assembly builder from the application domain associated with the current thread.
AssemblyBuilder myAssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.RunAndSave);
// Create a dynamic module in the assembly.
ModuleBuilder myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("MyModule", fileName);
// Create a type in the module.
TypeBuilder myTypeBuilder = myModuleBuilder.DefineType("MyType");
// Create a method called 'Main'.
MethodBuilder myMethodBuilder = myTypeBuilder.DefineMethod("Main", MethodAttributes.Public | MethodAttributes.HideBySig |
MethodAttributes.Static, typeof(void), null);
// Get the Intermediate Language generator for the method.
ILGenerator myILGenerator = myMethodBuilder.GetILGenerator();
// Use the utility method to generate the IL instructions that print a string to the console.
myILGenerator.EmitWriteLine("Hello World!");
// Generate the 'ret' IL instruction.
myILGenerator.Emit(OpCodes.Ret);
// End the creation of the type.
myTypeBuilder.CreateType();
// Set the method with name 'Main' as the entry point in the assembly.
myAssemblyBuilder.SetEntryPoint(myMethodBuilder);
myAssemblyBuilder.Save(fileName);
}
public static void Main()
{
// Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
AssemblyName myAssemblyName = new AssemblyName();
myAssemblyName.Name = "MyAssembly";
myAssemblyName.Version = new Version("1.0.0.2001");
MakeAssembly(myAssemblyName, "MyAssembly.exe");
// Get all the assemblies currently loaded in the application domain.
Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();
// Get the dynamic assembly named 'MyAssembly'.
Assembly myAssembly = null;
for(int i = 0; i < myAssemblies.Length; i++)
{
if(String.Compare(myAssemblies[i].GetName().Name, "MyAssembly") == 0)
myAssembly = myAssemblies[i];
}
if(myAssembly != null)
{
Console.WriteLine("\nDisplaying the assembly name\n");
Console.WriteLine(myAssembly);
}
}
}
Imports System.Reflection
Imports System.Threading
Imports System.Reflection.Emit
Public Class AssemblyName_Constructor
Public Shared Sub MakeAssembly(myAssemblyName As AssemblyName, fileName As String)
' Get the assembly builder from the application domain associated with the current thread.
Dim myAssemblyBuilder As AssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.RunAndSave)
' Create a dynamic module in the assembly.
Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.DefineDynamicModule("MyModule", fileName)
' Create a type in the module.
Dim myTypeBuilder As TypeBuilder = myModuleBuilder.DefineType("MyType")
' Create a method called 'Main'.
Dim myMethodBuilder As MethodBuilder = myTypeBuilder.DefineMethod("Main", MethodAttributes.Public Or MethodAttributes.HideBySig Or MethodAttributes.Static, GetType(object), Nothing)
Dim myILGenerator As ILGenerator = myMethodBuilder.GetILGenerator()
' Use the utility method to generate the IL instructions that print a string to the console.
myILGenerator.EmitWriteLine("Hello World!")
' Generate the 'ret' IL instruction.
myILGenerator.Emit(OpCodes.Ret)
' End the creation of the type.
myTypeBuilder.CreateType()
' Set the method with name 'Main' as the entry point in the assembly.
myAssemblyBuilder.SetEntryPoint(myMethodBuilder)
myAssemblyBuilder.Save(fileName)
End Sub
Public Shared Sub Main()
' Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
Dim myAssemblyName As New AssemblyName()
myAssemblyName.Name = "MyAssembly"
myAssemblyName.Version = New Version("1.0.0.2001")
MakeAssembly(myAssemblyName, "MyAssembly.exe")
' Get all the assemblies currently loaded in the application domain.
Dim myAssemblies As [Assembly]() = Thread.GetDomain().GetAssemblies()
' Get the dynamic assembly named 'MyAssembly'.
Dim myAssembly As [Assembly] = Nothing
Dim i As Integer
For i = 0 To myAssemblies.Length - 1
If [String].Compare(myAssemblies(i).GetName().Name, "MyAssembly") = 0 Then
myAssembly = myAssemblies(i)
End If
Next i
If Not (myAssembly Is Nothing) Then
Console.WriteLine(ControlChars.Cr + "Displaying the assembly name" + ControlChars.Cr)
Console.WriteLine(myAssembly)
End If
End Sub
End Class
S’applique à
AssemblyName(String)
- Source:
- AssemblyName.cs
- Source:
- AssemblyName.cs
- Source:
- AssemblyName.cs
Initialise une nouvelle instance de la classe AssemblyName avec le nom d’affichage spécifié.
public:
AssemblyName(System::String ^ assemblyName);
public AssemblyName (string assemblyName);
new System.Reflection.AssemblyName : string -> System.Reflection.AssemblyName
Public Sub New (assemblyName As String)
Paramètres
Exceptions
assemblyName
a la valeur null
.
assemblyName
est une chaîne de longueur nulle.
L’assembly référencé est introuvable ou ne peut pas être chargé.
Remarque : Dans .NET pour les applications du Windows Store ou la bibliothèque de classes portable, interceptez l’exception de la classe de base, IOException, à la place.
Exemples
L’exemple suivant crée une instance de à partir d’un AssemblyName nom d’affichage. Les éléments individuels du nom d’affichage sont générés dans la console en tant que propriétés de l’objet AssemblyName .
using namespace System;
using namespace System::Reflection;
int main()
{
// Create an AssemblyName, specifying the display name, and then
// print the properties.
AssemblyName^ myAssemblyName =
gcnew AssemblyName("Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null");
Console::WriteLine("Name: {0}", myAssemblyName->Name);
Console::WriteLine("Version: {0}", myAssemblyName->Version);
Console::WriteLine("CultureInfo: {0}", myAssemblyName->CultureInfo);
Console::WriteLine("FullName: {0}", myAssemblyName->FullName);
}
/* This code example produces output similar to the following:
Name: Example
Version: 1.0.0.2001
CultureInfo: en-US
FullName: Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null
*/
using System;
using System.Reflection;
public class AssemblyNameDemo
{
public static void Main()
{
// Create an AssemblyName, specifying the display name, and then
// print the properties.
AssemblyName myAssemblyName =
new AssemblyName("Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null");
Console.WriteLine("Name: {0}", myAssemblyName.Name);
Console.WriteLine("Version: {0}", myAssemblyName.Version);
Console.WriteLine("CultureInfo: {0}", myAssemblyName.CultureInfo);
Console.WriteLine("FullName: {0}", myAssemblyName.FullName);
}
}
/* This code example produces output similar to the following:
Name: Example
Version: 1.0.0.2001
CultureInfo: en-US
FullName: Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null
*/
Imports System.Reflection
Public Class AssemblyNameDemo
Public Shared Sub Main()
' Create an AssemblyName, specifying the display name, and then
' print the properties.
Dim myAssemblyName As New _
AssemblyName("Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null")
Console.WriteLine("Name: {0}", myAssemblyName.Name)
Console.WriteLine("Version: {0}", myAssemblyName.Version)
Console.WriteLine("CultureInfo: {0}", myAssemblyName.CultureInfo)
Console.WriteLine("FullName: {0}", myAssemblyName.FullName)
End Sub
End Class
' This code example produces output similar to the following:
'
'Name: Example
'Version: 1.0.0.2001
'CultureInfo: en-US
'FullName: Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null
Remarques
Le fourni assemblyName
est analysé et les champs appropriés du nouveau AssemblyName sont initialisés avec les valeurs du nom d’affichage. Il s’agit de la méthode recommandée pour analyser les noms d’affichage. Il n’est pas recommandé d’écrire votre propre code pour analyser les noms d’affichage.