AppDomain.GetAssemblies 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得已載入至這個應用程式定義域之執行內容的組件。
public:
cli::array <System::Reflection::Assembly ^> ^ GetAssemblies();
public:
virtual cli::array <System::Reflection::Assembly ^> ^ GetAssemblies();
public System.Reflection.Assembly[] GetAssemblies ();
member this.GetAssemblies : unit -> System.Reflection.Assembly[]
abstract member GetAssemblies : unit -> System.Reflection.Assembly[]
override this.GetAssemblies : unit -> System.Reflection.Assembly[]
Public Function GetAssemblies () As Assembly()
傳回
- Assembly[]
這個應用程式定義域中的組件陣列。
實作
例外狀況
嘗試對卸載的應用程式定義域執行作業。
範例
下列程式碼範例會 GetAssemblies 使用 方法來取得已載入應用程式域的所有元件清單。 然後元件會顯示至主控台。
若要執行此程式碼範例,您必須建立名為 CustomLibrary.dll
的元件,或變更傳遞至 方法的 GetAssemblies 元件名稱。
using namespace System;
using namespace System::Reflection;
using namespace System::Security::Policy;
//for Evidence Object
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
//Provide the current application domain evidence for the assembly.
Evidence^ asEvidence = currentDomain->Evidence;
//Load the assembly from the application directory using a simple name.
//Create an assembly called CustomLibrary to run this sample.
currentDomain->Load( "CustomLibrary", asEvidence );
//Make an array for the list of assemblies.
array<Assembly^>^assems = currentDomain->GetAssemblies();
//List the assemblies in the current application domain.
Console::WriteLine( "List of assemblies loaded in current appdomain:" );
System::Collections::IEnumerator^ myEnum = assems->GetEnumerator();
while ( myEnum->MoveNext() )
{
Assembly^ assem = safe_cast<Assembly^>(myEnum->Current);
Console::WriteLine( assem );
}
}
using System;
using System.Reflection;
using System.Security.Policy;
class ADGetAssemblies
{
public static void Main()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
//Provide the current application domain evidence for the assembly.
Evidence asEvidence = currentDomain.Evidence;
//Load the assembly from the application directory using a simple name.
//Create an assembly called CustomLibrary to run this sample.
currentDomain.Load("CustomLibrary",asEvidence);
//Make an array for the list of assemblies.
Assembly[] assems = currentDomain.GetAssemblies();
//List the assemblies in the current application domain.
Console.WriteLine("List of assemblies loaded in current appdomain:");
foreach (Assembly assem in assems)
Console.WriteLine(assem.ToString());
}
}
open System
let currentDomain = AppDomain.CurrentDomain
//Provide the current application domain evidence for the assembly.
let asEvidence = currentDomain.Evidence
//Load the assembly from the application directory using a simple name.
//Create an assembly called CustomLibrary to run this sample.
currentDomain.Load("CustomLibrary", asEvidence)
//Make an array for the list of assemblies.
let assems = currentDomain.GetAssemblies()
//List the assemblies in the current application domain.
printfn "List of assemblies loaded in current appdomain:"
for assem in assems do
printfn $"{assem}"
Imports System.Reflection
Imports System.Security.Policy
Class ADGetAssemblies
Public Shared Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
'Provide the current application domain evidence for the assembly.
Dim asEvidence As Evidence = currentDomain.Evidence
'Load the assembly from the application directory using a simple name.
'Create an assembly called CustomLibrary to run this sample.
currentDomain.Load("CustomLibrary", asEvidence)
'Make an array for the list of assemblies.
Dim assems As [Assembly]() = currentDomain.GetAssemblies()
'List the assemblies in the current application domain.
Console.WriteLine("List of assemblies loaded in current appdomain:")
Dim assem As [Assembly]
For Each assem In assems
Console.WriteLine(assem.ToString())
Next assem
End Sub
End Class