Прочитать на английском

Поделиться через


AppDomain.ReflectionOnlyGetAssemblies Метод

Определение

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

public System.Reflection.Assembly[] ReflectionOnlyGetAssemblies ();

Возвращаемое значение

Assembly[]

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

Исключения

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

Примеры

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

using System;
using System.Reflection;
using System.Timers;

public class Example
{
    public static void Main()
    {
        // Get the assembly display name for System.dll, the assembly
        // that contains System.Timers.Timer. Note that this causes
        // System.dll to be loaded into the execution context.
        //
        string displayName = typeof(Timer).Assembly.FullName;

        // Load System.dll into the reflection-only context. Note that
        // if you obtain the display name (for example, by running this
        // example program), and enter it as a literal string in the
        // preceding line of code, you can load System.dll into the
        // reflection-only context without loading it into the execution
        // context.
        Assembly.ReflectionOnlyLoad(displayName);

        // Display the assemblies loaded into the execution and
        // reflection-only contexts. System.dll appears in both contexts.
        //
        Console.WriteLine("------------- Execution Context --------------");
        foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies())
        {
            Console.WriteLine("\t{0}", a.GetName());
        }
        Console.WriteLine("------------- Reflection-only Context --------------");
        foreach (Assembly a in AppDomain.CurrentDomain.ReflectionOnlyGetAssemblies())
        {
            Console.WriteLine("\t{0}", a.GetName());
        }
    }
}

Комментарии

Этот метод возвращает сборки, загруженные в контекст только для отражения. Чтобы получить сборки, загруженные для выполнения, используйте GetAssemblies метод.

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

См. также раздел