.NET Framework Class Library
Assembly..::.GetAssembly Method

Gets the currently loaded assembly in which the specified class is defined.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic (Declaration)
Public Shared Function GetAssembly ( _
    type As Type _
) As Assembly
Visual Basic (Usage)
Dim type As Type
Dim returnValue As [Assembly]

returnValue = Assembly.GetAssembly(type)
C#
public static Assembly GetAssembly(
    Type type
)
Visual C++
public:
static Assembly^ GetAssembly(
    Type^ type
)
JScript
public static function GetAssembly(
    type : Type
) : Assembly

Parameters

type
Type: System..::.Type
A Type object representing a class in the assembly that will be returned.

Return Value

Type: System.Reflection..::.Assembly
The assembly in which the specified class is defined.
Exceptions

ExceptionCondition
ArgumentNullException

type is nullNothingnullptra null reference (Nothing in Visual Basic).

Remarks

In order to call this method, you must have a Type object, which means that the assembly in which the class is defined must already be loaded.

Examples

The following example retrieves the assembly of a specified class.

Visual Basic
    Dim SampleAssembly As [Assembly]
    ' Instantiate a target object.
    Dim Integer1 As New Int32()
    Dim Type1 As Type
    ' Set the Type instance to the target class type.
    Type1 = Integer1.GetType()
    ' Instantiate an Assembly class to the assembly housing the Integer type.  
    SampleAssembly = [Assembly].GetAssembly(Integer1.GetType())
    ' Gets the location of the assembly using file: protocol.
    Console.WriteLine(("CodeBase=" + SampleAssembly.CodeBase))
End Sub
C#
Assembly SampleAssembly;
// Instantiate a target object.
Int32 Integer1 = new Int32();
Type Type1;
// Set the Type instance to the target class type.
Type1 = Integer1.GetType();
// Instantiate an Assembly class to the assembly housing the Integer type.  
SampleAssembly = Assembly.GetAssembly(Integer1.GetType());
// Gets the location of the assembly using file: protocol.
Console.WriteLine("CodeBase=" + SampleAssembly.CodeBase);
Visual C++
Assembly^ SampleAssembly;
// Instantiate a target object.
Int32 Integer1(0);
Type^ Type1;
// Set the Type instance to the target class type.
Type1 = Integer1.GetType();
// Instantiate an Assembly class to the assembly housing the Integer type.  
SampleAssembly = Assembly::GetAssembly( Integer1.GetType() );
// Gets the location of the assembly using file: protocol.
Console::WriteLine( "CodeBase= {0}", SampleAssembly->CodeBase );
JScript
var SampleAssembly : Assembly;
// Instantiate a target object.
var Integer1 : Int32 = 0;
var Type1 : Type;
// Set the Type instance to the target class type.
Type1 = Integer1.GetType();
// Instantiate an Assembly class to the assembly housing the Integer type.  
SampleAssembly = Assembly.GetAssembly(Integer1.GetType());
// Gets the location of the assembly using file: protocol.
Console.WriteLine("CodeBase=" + SampleAssembly.CodeBase);
.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Community Content

Gil.Y
Problematic
What happens when more than 1 assembly is loaded which contain the same calss name ?
for example assmbly1 and assembly2 both contain diffrent classes with the same name:
public class P{public int X;} // in assembly1
public class P{public string Y;} //in assembly2
Gil.
Tags :

Page view tracker