Assembly.GetAssembly(Type) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает текущую загруженную сборку, в которой определен указанный тип.
public:
static System::Reflection::Assembly ^ GetAssembly(Type ^ type);
public static System.Reflection.Assembly? GetAssembly (Type type);
public static System.Reflection.Assembly GetAssembly (Type type);
static member GetAssembly : Type -> System.Reflection.Assembly
Public Shared Function GetAssembly (type As Type) As Assembly
Параметры
- type
- Type
Объект, представляющий тип в сборке, которая будет возвращена.
Возвращаемое значение
Сборка, в которой определен указанный тип.
Исключения
type
имеет значение null
.
Примеры
В следующем примере извлекается сборка, содержащая Int32 тип , и отображается ее имя и расположение файла.
using namespace System;
using namespace System::Reflection;
void main()
{
// Get a Type object.
Type^ t = int::typeid;
// Instantiate an Assembly class to the assembly housing the Integer type.
Assembly^ assem = Assembly::GetAssembly(t);
// Display the name of the assembly.
Console::WriteLine("Name: {0}", assem->FullName);
// Get the location of the assembly using the file: protocol.
Console::WriteLine("CodeBase: {0}", assem->CodeBase);
}
// The example displays output like the following:
// Name: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
using System;
using System.Reflection;
public class Example2
{
public static void Main()
{
// Get a Type object.
Type t = typeof(int);
// Instantiate an Assembly class to the assembly housing the Integer type.
Assembly assem = Assembly.GetAssembly(t);
// Display the name of the assembly.
Console.WriteLine("Name: {0}", assem.FullName);
// Get the location of the assembly using the file: protocol.
Console.WriteLine("CodeBase: {0}", assem.CodeBase);
}
}
// The example displays output like the following:
// Name: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
Imports System.Reflection
Module Example
Public Sub Main()
' Get a Type object.
Dim t As Type = GetType(Integer)
' Instantiate an Assembly class to the assembly housing the Integer type.
Dim assem As Assembly = Assembly.GetAssembly(t)
' Display the name of the assembly.
Console.WriteLine("Name: {0}", assem.FullName)
' Get the location of the assembly using the file: protocol.
Console.WriteLine("CodeBase: {0}", assem.CodeBase)
End Sub
End Module
' The example displays output like the following:
' Name: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
' CodeBase: file:'/C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
Комментарии
Вызов этого метода эквивалентен получению значения Type.Assembly свойства . Однако Type.Assembly свойство обычно обеспечивает превосходную производительность.
Чтобы вызвать этот метод, необходимо иметь Type объект . Это означает, что сборка, в которой определен класс, уже должна быть загружена.