Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Assembly - класс

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

Пространство имен:  System.Reflection
Сборка:  mscorlib (в mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Unrestricted = true)]
public abstract class Assembly : _Assembly, 
	IEvidenceFactory, ICustomAttributeProvider, ISerializable

Тип Assembly предоставляет следующие члены.

  ИмяОписание
Защищенный методAssemblyИнициализирует новый экземпляр класса Assembly.
В начало страницы

  ИмяОписание
Открытое свойствоCodeBaseПолучает первоначально заданное расположение сборки, например в объекте AssemblyName.
Открытое свойствоПоддерживается в версии: Приложения .NET для Магазина WindowsCustomAttributes Получает коллекцию, содержащую пользовательские атрибуты этой сборки.
Открытое свойствоПоддерживается в версии: Приложения .NET для Магазина WindowsDefinedTypesПолучает коллекцию типов, определенных в этой сборке.
Открытое свойствоПоддерживается в Переносимая библиотека классовEntryPointВозвращает точка входа для этой сборки.
Открытое свойствоEscapedCodeBaseВозвращает URI, предоставляющий базовый код, включая escape-символ и.
Открытое свойствоEvidenceВозвращает свидетельство для этой сборки.
Открытое свойствоПоддерживается в версии: Приложения .NET для Магазина WindowsExportedTypesПолучает коллекцию открытых типов, определенных в этой сборке и видимых за ее пределами.
Открытое свойствоПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsFullNameВозвращает отображаемое имя сборки.
Открытое свойствоGlobalAssemblyCacheВозвращает значение, указывающее, была ли сборка загружена из глобального кэша сборок.
Открытое свойствоHostContextВозвращает контекст хост-сайта, с которым была загружена сборка.
Открытое свойствоImageRuntimeVersionВозвращает строку, представляющую версию общеязыковой среды выполнения (CLR), сохраненной в файле, содержащем манифест.
Открытое свойствоПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsIsDynamicПолучает значение, определяющее, была ли текущая сборка создана динамически в текущем процессе с помощью отражения.
Открытое свойствоIsFullyTrustedПолучает значение, указывающее, загружена ли текущая сборка с полным доверием.
Открытое свойствоLocationВозвращает полный путь либо UNC для расположения загруженного файла, содержащего манифест.
Открытое свойствоПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsManifestModuleВозвращает модуль, содержащий манифест текущей сборки.
Открытое свойствоПоддерживается в версии: Приложения .NET для Магазина WindowsModulesПолучает коллекцию, содержащую модули в этой сборке.
Открытое свойствоPermissionSetПолучает набор разрешений текущей сборки.
Открытое свойствоReflectionOnlyВозвращает значение Boolean, которое указывает, была ли эта сборка загружена в контекст, предназначенный только для отражения.
Открытое свойствоSecurityRuleSetПолучает значение, указывающее набор правил безопасности, которые применяются средой CLR к данной сборке.
В начало страницы

  ИмяОписание
Открытый методПоддерживается платформой XNA FrameworkCreateInstance(String)С помощью поиска с учетом регистра находит заданный тип в этой сборке и создает его экземпляр, используя абстрактный метод.
Открытый методCreateInstance(String, Boolean)При помощи необязательного поиска с учетом регистра находит заданный тип в этой сборке и создает его экземпляр, используя абстрактный метод.
Открытый методCreateInstance(String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])Находит в сборке указанный тип и создает его экземпляр с использованием системного активатора при помощи необязательного поиска с учетом регистра и с заданными аргументами, культурой, а также атрибутами привязки и активации.
Открытый методСтатический членCreateQualifiedNameСоздает имя типа, который определяется отображаемым именем его сборки.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовEqualsОпределяет равенство сборки и заданного объекта. (Переопределяет Object.Equals(Object).)

В XNA Framework 3.0, этот член наследуется от Object.Equals(Object).


В Переносимая библиотека классов Переносимая библиотека классов, этот член наследуется от Object.Equals(Object).
Защищенный методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsFinalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый методСтатический членGetAssemblyВозвращает загруженную в текущий момент сборку, в которой определяется заданный класс.
Открытый методСтатический членПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetCallingAssemblyВозвращает объект Assembly метода, который вызывает текущий выполняемый метод.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetCustomAttributes(Boolean)Возвращает все настраиваемые атрибуты для этой сборки.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetCustomAttributes(Type, Boolean)Возвращает настраиваемые атрибуты для этой сборки как заданные по типу.
Открытый методGetCustomAttributesDataВозвращает сведения об атрибутах, примененных к текущему объекту Assembly; сведения представляют собой объекты CustomAttributeData.
Открытый методСтатический членGetEntryAssembly Возвращает исполняемый файл процесса в домене приложения по умолчанию. В других доменах приложений это первый исполняемый файл, который был выполнен методом AppDomain.ExecuteAssembly.
Открытый методСтатический членПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetExecutingAssemblyВозвращает сборку, которая содержит выполняемый в текущий момент код.
Открытый методПоддерживается в Переносимая библиотека классовGetExportedTypesВозвращает открытые типы, определенные в этой сборке и видимые за ее пределами.
Открытый методGetFileВозвращает объект FileStream для указанного файла из таблицы файлов манифеста данной сборки.
Открытый методGetFiles()Возвращает файлы в таблице файлов манифеста сборки.
Открытый методGetFiles(Boolean)Получает файлы из таблицы манифеста сборки с указанием включать или не включать модули ресурсов.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetHashCode Возвращает хэш-код для текущего экземпляра. (Переопределяет Object.GetHashCode().)

В XNA Framework 3.0, этот член наследуется от Object.GetHashCode().


В Переносимая библиотека классов Переносимая библиотека классов, этот член наследуется от Object.GetHashCode().
Открытый методGetLoadedModules()Возвращает все загруженные модули, являющиеся частью этой сборки.
Открытый методGetLoadedModules(Boolean)Возвращает все загруженные модули, входящие в эту сборку, с заданием возможности включения модулей ресурсов.
Открытый методПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsGetManifestResourceInfoВозвращает сведения о сохранении заданного ресурса.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsGetManifestResourceNamesВозвращает имена всех ресурсов в этой сборке.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsGetManifestResourceStream(String)Загружает указанный ресурс манифеста из сборки.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetManifestResourceStream(Type, String)Загружает из сборки указанный ресурс манифеста с учетом ограничения области действия пространства имен по типу.
Открытый методGetModuleВозвращает указанный модуль этой сборки.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetModules()Возвращает все модули, являющиеся частью этой сборки.
Открытый методGetModules(Boolean)Возвращает все загруженные модули, входящие в эту сборку, с указанием возможности включения модулей ресурсов.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в версии: Приложения .NET для Магазина WindowsGetName()Получает имя AssemblyName для этой сборки.
Открытый методПоддерживается платформой XNA FrameworkGetName(Boolean)Возвращает значение AssemblyName для этой сборки, база кода устанавливается в соответствии с параметром copiedName.
Открытый методGetObjectDataВозвращает сведения сериализации со всеми данными, необходимыми для повторного создания экземпляра этой сборки.
Открытый методGetReferencedAssembliesВозвращает объекты AssemblyName для всех сборок, на которые ссылается данная сборка.
Открытый методПоддерживается платформой XNA FrameworkGetSatelliteAssembly(CultureInfo)Возвращает сопутствующую сборку для указанной культуры.
Открытый методПоддерживается платформой XNA FrameworkGetSatelliteAssembly(CultureInfo, Version)Возвращает указанную версию вспомогательной сборки для указанной культуры.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsGetType()Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsGetType(String)Возвращает объект Type с указанным именем в экземпляре сборки.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetType(String, Boolean)Возвращает объект Type с заданным именем в экземпляре сборки и может вызывать исключение, если тип не найден.
Открытый методGetType(String, Boolean, Boolean)Возвращает объект Type с заданным именем в экземпляре сборки, с возможностями игнорировать регистр и вызвать исключение, если тип не найден.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовGetTypesВозвращает типы, определенные в этой сборке.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовIsDefinedУказывает, применен ли конкретный атрибут к сборке.
Открытый методСтатический членПоддерживается платформой XNA FrameworkПоддерживается в версии: Приложения .NET для Магазина WindowsLoad(AssemblyName)Загружает сборку с заданным именем AssemblyName.
Открытый методСтатический членLoad(Byte[])Загружает сборку с образом в формате COFF, содержащим порожденную сборку. Сборка загружается в домен приложения вызывающего объекта.
Открытый методСтатический членПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовLoad(String)Загружает сборку, заданную длинной формой ее имени.
Открытый методСтатический членLoad(AssemblyName, Evidence) Устаревшее. Загружает сборку с заданным именем AssemblyName. Сборка загружена в домен вызывающего объекта с использованием переданного свидетельства.
Открытый методСтатический членLoad(Byte[], Byte[])Загружает сборку с образом в формате COFF, содержащим выпущенную сборку и (дополнительно) символы для сборки. Сборка загружается в домен приложения вызывающего объекта.
Открытый методСтатический членLoad(String, Evidence) Устаревшее. Загружает сборку с заданным отображаемым именем. Сборка загружается в домен вызывающего объекта с использованием переданного основания.
Открытый методСтатический членLoad(Byte[], Byte[], Evidence) Устаревшее. Загружает сборку с образом в формате COFF, содержащим выпущенную сборку и (необязательно) символы и свидетельство для сборки. Сборка загружается в домен приложения вызывающего объекта.
Открытый методСтатический членLoad(Byte[], Byte[], SecurityContextSource)Загружает сборку с образом в формате COFF, содержащим выпущенную сборку и (необязательно) содержащим символы и задающим источник для контекста безопасности. Сборка загружается в домен приложения вызывающего объекта.
Открытый методСтатический членLoadFile(String)Загружает содержимое файла сборки, находящегося по указанному пути.
Открытый методСтатический членLoadFile(String, Evidence) Устаревшее. Загружает сборку с заданным путем в домен вызывающего объекта с использованием переданного свидетельства.
Открытый методСтатический членПоддерживается платформой XNA FrameworkLoadFrom(String)Загружает сборку с заданным именем или путем.
Открытый методСтатический членLoadFrom(String, Evidence) Устаревшее. Загружает сборку, заданную именем файла или путем к этому файлу и предоставленным свидетельством безопасности.
Открытый методСтатический членLoadFrom(String, Byte[], AssemblyHashAlgorithm)Загружает сборку с заданным именем файла сборки или путем, хэш-значением и хэш-алгоритмом.
Открытый методСтатический членLoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) Устаревшее. Загружает сборку с заданным именем файла сборки или путем, свидетельством безопасности, хэш-значением и хэш-алгоритмом.
Открытый методLoadModule(String, Byte[])Загружает модуль, внутренний для этой сборки, с образом в формате COFF, содержащим включенный модуль или файл ресурсов.
Открытый методLoadModule(String, Byte[], Byte[])Загружает модуль, внутренний для этой сборки, с образом в формате COFF, содержащим включенный модуль или файл ресурсов. Также загружаются необработанные байты, представляющие собой символы для модуля.
Открытый методСтатический членLoadWithPartialName(String) Устаревшее. Загружает сборку из каталога приложения или из глобального кэша сборок с использованием частичного имени.
Открытый методСтатический членLoadWithPartialName(String, Evidence) Устаревшее. Загружает сборку из каталога приложения или из глобального кэша сборок с использованием частичного имени. Сборка загружена в домен вызывающего объекта с использованием переданного свидетельства.
Защищенный методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsMemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый методСтатический членReflectionOnlyLoad(Byte[])Загружает сборку из образа в формате COFF, содержащего порожденную сборку. Сборка загружается в контекст, предназначенный только для отражения, который относится к домену приложения вызывающего объекта.
Открытый методСтатический членReflectionOnlyLoad(String)Загружает сборку с заданным отображаемым именем в контекст, предназначенный только для отражения.
Открытый методСтатический членReflectionOnlyLoadFromЗагружает сборку с заданным путем в контекст, предназначенный только для отражения.
Открытый методПоддерживается платформой XNA FrameworkПоддерживается в Переносимая библиотека классовПоддерживается в версии: Приложения .NET для Магазина WindowsToStringВозвращает полное имя сборки, также называемое отображаемым именем. (Переопределяет Object.ToString().)
Открытый методСтатический членUnsafeLoadFromЗагружает сборку в контекст, из которого производится загрузка, обходя некоторые проверки безопасности.
В начало страницы

  ИмяОписание
Открытое событиеModuleResolveВозникает, если загрузчик классов общеязыковой среды выполнения не может обработать ссылку на внутренний модуль сборки, используя обычные средства.
В начало страницы

  ИмяОписание
Открытый операторСтатический членEqualityОпределение равенства двух объектов Assembly.
Открытый операторСтатический членInequalityОпределяет неравенство двух объектов Assembly.
В начало страницы

  ИмяОписание
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsGetCustomAttribute(Type)Перегружен. Извлекает пользовательский атрибут заданного типа, примененный к указанной сборке. (Определено в CustomAttributeExtensions.)
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsGetCustomAttribute<T>()Перегружен. Извлекает пользовательский атрибут заданного типа, примененный к указанной сборке. (Определено в CustomAttributeExtensions.)
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsGetCustomAttributes()Перегружен. Извлекает коллекцию настраиваемых атрибутов, примененных к указанной сборке. (Определено в CustomAttributeExtensions.)
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsGetCustomAttributes(Type)Перегружен. Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанной сборке. (Определено в CustomAttributeExtensions.)
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsGetCustomAttributes<T>()Перегружен. Извлекает коллекцию пользовательских атрибутов заданного типа, примененных к указанной сборке. (Определено в CustomAttributeExtensions.)
Открытый метод расширенияПоддерживается в версии: Приложения .NET для Магазина WindowsIsDefinedУказывает, применены ли какие-либо пользовательские атрибуты заданного типа к указанной сборке. (Определено в CustomAttributeExtensions.)
В начало страницы

  ИмяОписание
Явная реализация интерфейсаЗакрытый метод_Assembly.GetTypeВозвращает тип текущего экземпляра.
В начало страницы

Класс Assembly используется для загрузки сборок, изучения метаданных и компонентов сборок, выявления содержащихся в сборках типов и создания экземпляров этих типов.

Для получения массива объектов Assembly, представляющих сборки, загруженные в настоящий момент в домен приложения, например в домен приложения по умолчанию в простом проекте, следует использовать метод AppDomain.GetAssemblies method.

Для динамической загрузки сборок в классе Assembly предоставляются следующие статические методы (в Visual Basic –методы Shared). Сборки загружаются в домен приложения, в котором выполняется операция загрузки.

  • Для загрузки сборок рекомендуется использовать метод Load, который идентифицирует загружаемые сборки по отображаемому имени (например, "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"). Поиск сборок ведется с соблюдением правил, описанных в разделе Обнаружение сборок в среде выполнения.

  • Методы ReflectionOnlyLoad и ReflectionOnlyLoadFrom позволяют загрузить сборку для отражения, но не для выполнения. Например, сборка, предназначенная для 64-разрядной платформы, может быть проанализирована кодом, выполняемым на 32-разрядной платформе.

  • Методы LoadFile и LoadFrom предоставляются для редко используемых скриптов, в которых сборка должна определяться по пути.

Чтобы получить объект Assembly для выполняемой в текущий момент сборки, следует воспользоваться методом GetExecutingAssembly.

Сведения о сборке содержатся в многих членах класса Assembly. Например:

  • Метод GetName возвращает объект AssemblyName, который обеспечивает доступ к отображаемому имени сборки.

  • Метод GetCustomAttributes используется для вывода атрибутов, примененных для сборки.

  • Метод GetFiles обеспечивает доступ к файлам в манифесте сборки.

  • Метод GetManifestResourceNames предоставляет имена всех ресурсов в манифесте сборки.

Метод GetTypes выводит все типы, содержащиеся в сборке. Метод GetExportedTypes выводит типы, которые видимы вызывающим объектам, находящимся вне сборки. Метод GetType может использоваться для поиска конкретного типа в сборке. Метод CreateInstance может использоваться для поиска и создания экземпляров ряда типов в сборке.

Дополнительные сведения о сборках содержатся в разделе Домены приложений и сборки.

В следующем ниже примере показано, как получить выполняемую в текущий момент сборку, создать экземпляр типа, содержащегося в этой сборке, а затем вызвать один из методов этого типа с использованием поздней привязки. Для этой цели в примере определяется класс с именем Example, содержащий метод SampleMethod. Конструктор класса принимает целочисленное значение, которое используется для вычисления возвращаемого значения этого метода.

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


using System;
using System.Reflection;
using System.Security.Permissions;

[assembly:AssemblyVersionAttribute("1.0.2000.0")]

public class Example
{
    private int factor;
    public Example(int f)
    {
        factor = f;
    }

    public int SampleMethod(int x) 
    { 
        Console.WriteLine("\nExample.SampleMethod({0}) executes.", x);
        return x * factor;
    }

    public static void Main()
    {
        Assembly assem = Assembly.GetExecutingAssembly();

        Console.WriteLine("Assembly Full Name:");
        Console.WriteLine(assem.FullName);

        // The AssemblyName type can be used to parse the full name.
        AssemblyName assemName = assem.GetName();
        Console.WriteLine("\nName: {0}", assemName.Name);
        Console.WriteLine("Version: {0}.{1}", 
            assemName.Version.Major, assemName.Version.Minor);

        Console.WriteLine("\nAssembly CodeBase:");
        Console.WriteLine(assem.CodeBase);

        // Create an object from the assembly, passing in the correct number
        // and type of arguments for the constructor.
        Object o = assem.CreateInstance("Example", false, 
            BindingFlags.ExactBinding, 
            null, new Object[] { 2 }, null, null);

        // Make a late-bound call to an instance method of the object.    
        MethodInfo m = assem.GetType("Example").GetMethod("SampleMethod");
        Object ret = m.Invoke(o, new Object[] { 42 });
        Console.WriteLine("SampleMethod returned {0}.", ret);

        Console.WriteLine("\nAssembly entry point:");
        Console.WriteLine(assem.EntryPoint);
    }
}

/* This code example produces output similar to the following:

Assembly Full Name:
source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Name: source
Version: 1.0

Assembly CodeBase:
file:///C:/sdtree/AssemblyClass/cs/source.exe

Example.SampleMethod(42) executes.
SampleMethod returned 84.

Assembly entry point:
Void Main()
 */


.NET Framework

Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Переносимая библиотека классов

Поддерживается в версии: Переносимая библиотека классов

Приложения .NET для Магазина Windows

Поддерживается в версии: Windows 8

Приложения .NET для Windows Phone

Поддерживается в версиях: Windows Phone 8, Silverlight 8.1

  • SecurityAction.InheritanceDemand 

    для полного доверия наследникам. Этот класс не может наследоваться кодом с частичным доверием.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Этот тип потокобезопасен.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft