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

Класс Activator

 

Опубликовано: Октябрь 2016

Содержит методы, позволяющие локально или удаленно создавать типы объектов или получать ссылки на существующие удаленные объекты. Этот класс не наследуется.

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


[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public sealed class Activator : _Activator

ИмяОписание
System_CAPS_pubmethodSystem_CAPS_staticCreateComInstanceFrom(String, String)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

Создает экземпляр COM-объекта с заданным именем, используя для этого файл именованной сборки и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(ActivationContext)

Создает экземпляр типа, назначенного указанным объектом ActivationContext.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(ActivationContext, String[])

Создает экземпляр типа, назначенного указанным объектом ActivationContext и активированного с помощью указанных пользовательских данных активации.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(AppDomain, String, String)

Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого именованную сборку и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого именованную сборку и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Устарело. Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого именованную сборку и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String)

Создает экземпляр типа с заданным именем, используя для этого именованную сборку и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Создает экземпляр типа с заданным именем, используя для этого именованную сборку и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Устарело. Создает экземпляр типа с заданным именем, используя для этого именованную сборку и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String, Object[])

Создает экземпляр типа с заданным именем, используя для этого именованную сборку и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type)

Создает экземпляр указанного типа, используя конструктор, заданный для этого типа по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo)

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

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, BindingFlags, Binder, Object[], CultureInfo, Object[])

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

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, Boolean)

Создает экземпляр указанного типа, используя конструктор, заданный для этого типа по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, Object[])

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

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, Object[], Object[])

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

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance<T>()

Создает экземпляр типа, объявленного в указанном параметре универсального типа, с помощью конструктора без параметров.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(AppDomain, String, String)

Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого файл именованной сборки и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого файл именованной сборки и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Устарело. Создает экземпляр типа с заданным именем в указанном удаленном домене, используя для этого файл именованной сборки и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String)

Создает экземпляр типа с заданным именем, используя для этого файл именованной сборки и конструктор по умолчанию.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

Создает экземпляр типа с заданным именем, используя для этого файл именованной сборки и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Устарело. Создает экземпляр типа с заданным именем, используя для этого файл именованной сборки и конструктор, который наилучшим образом соответствует заданным параметрам.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String, Object[])

Создает экземпляр типа с заданным именем, используя для этого файл именованной сборки и конструктор по умолчанию.

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetObject(Type, String)

Создает прокси для хорошо известного объекта, определенного заданным типом и URL.

System_CAPS_pubmethodSystem_CAPS_staticGetObject(Type, String, Object)

Создает прокси для хорошо известного объекта, который идентифицируется по заданному типу, URL и данным канала.

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_pubmethodToString()

Возвращает строку, представляющую текущий объект.(Наследуется от Object.)

ИмяОписание
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetTypeInfo(UInt32, UInt32, IntPtr)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

CreateInstance Метод создает экземпляр типа, определенного в сборке путем вызова конструктора, который наилучшим образом соответствует указанным аргументам. Если аргументы не заданы, вызывается конструктор, который не принимает никаких параметров, то есть конструктор по умолчанию.

Необходимо обладать достаточными полномочиями для поиска и вызова конструктора; в противном случае создается исключение. По умолчанию только открытые конструкторы считаются во время поиска для конструктора. Если нет конструкторов или конструктор по умолчанию не найден, выдается исключение.

Параметр привязки определяет объект, который выполняет поиск сборки для подходящего конструктора. Можно указать собственный связыватель и условия поиска. Если связыватель не задан, используется связыватель по умолчанию. Дополнительные сведения см. в описаниях классов System.Reflection.Binder и System.Reflection.BindingFlags.

Параметр свидетельства влияет на политику безопасности и разрешения для конструктора. Дополнительные сведения см. в описании класса System.Security.Policy.Evidence.

На локальном или удаленном сайте можно создать экземпляр типа. Если тип создается, параметр атрибута активации задает URI удаленного узла. Вызов для создания экземпляра может проходить через промежуточные узлы, прежде чему будет достигнут удаленного узла. Другие атрибуты активации можно изменить среду или контекст, в котором функционирует вызов на удаленном и промежуточных веб-узлах.

Если экземпляр создан на локальном узле, возвращается ссылка на этот объект. Если экземпляр создан на удаленном узле, возвращается ссылка на прокси-сервере. Удаленный объект осуществляются с помощью прокси-сервера, как если бы это был локальный объект.

GetObject Метод создает прокси для запущенного удаленного объекта, активированной хорошо известного объекта или веб-службы XML. Можно указать носитель соединения, то есть канала. Дополнительные сведения см. в описании класса System.Runtime.Remoting.Channels.ChannelServices.

Сборки содержат определения типов. CreateInstance Метод создает экземпляр типа из запущенной сборки. CreateInstanceFrom Метод создает экземпляр из файла, содержащего сборку. CreateComInstanceFrom Метод создает экземпляр COM-объекта из файла, содержащего сборку.

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

using System;
using System.Reflection;
using System.Text;

public class SomeType
{
    public void DoSomething(int x)
    {
        Console.WriteLine("100 / {0} = {1}", x, 100 / x);
    }
}

public class Example
{
    static void Main()
    {
        // Create an instance of the StringBuilder type using 
        // Activator.CreateInstance.
        Object o = Activator.CreateInstance(typeof(StringBuilder));

        // Append a string into the StringBuilder object and display the 
        // StringBuilder.
        StringBuilder sb = (StringBuilder) o;
        sb.Append("Hello, there.");
        Console.WriteLine(sb);

        // Create an instance of the SomeType class that is defined in this 
        // assembly.
        System.Runtime.Remoting.ObjectHandle oh = 
            Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, 
                                         typeof(SomeType).FullName);

        // Call an instance method defined by the SomeType type using this object.
        SomeType st = (SomeType) oh.Unwrap();

        st.DoSomething(5);
    }
}

/* This code produces the following output:

Hello, there.
100 / 5 = 20
 */

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 1.1
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: