Ағылшын тілінде оқу

Бөлісу құралы:


AssemblyName Конструкторы

Определение

Инициализирует новый экземпляр класса AssemblyName.

Перегрузки

AssemblyName()

Инициализирует новый экземпляр класса AssemblyName.

AssemblyName(String)

Инициализирует новый экземпляр класса AssemblyName с заданным отображаемым именем.

AssemblyName()

Исходный код:
AssemblyName.cs
Исходный код:
AssemblyName.cs
Исходный код:
AssemblyName.cs

Инициализирует новый экземпляр класса AssemblyName.

public AssemblyName ();

Примеры

В следующем примере создается динамическая сборка с именем MyAssembly.exe и сохраняется на жестком диске. После выполнения примера можно использовать Ildasm.exe (дизассемблер IL) для проверки метаданных сборки.

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);
      }
   }
}

Применяется к

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

AssemblyName(String)

Исходный код:
AssemblyName.cs
Исходный код:
AssemblyName.cs
Исходный код:
AssemblyName.cs

Инициализирует новый экземпляр класса AssemblyName с заданным отображаемым именем.

public AssemblyName (string assemblyName);

Параметры

assemblyName
String

Отображаемое имя сборки, возвращаемое свойством FullName.

Исключения

assemblyName имеет значение null.

assemblyName представляет собой строку нулевой длины.

Не удалось найти или загрузить сборку, на которую указывает ссылка.

Примечание. В .NET для приложений Магазина Windows или переносимой библиотеки классов перехватите исключение базового класса , IOException.

Примеры

В следующем примере создается экземпляр из AssemblyName отображаемого имени. Отдельные элементы отображаемого имени выводятся в консоль как свойства AssemblyName объекта .

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
 */

Комментарии

Предоставленный assemblyName объект анализируется, и соответствующие поля нового AssemblyName инициализируются значениями из отображаемого имени. Это рекомендуемый способ анализа отображаемых имен. Не рекомендуется писать собственный код для анализа отображаемых имен.

Применяется к

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0