Activator Sınıf

Tanım

Yerel olarak veya uzaktan nesne türleri oluşturma veya var olan uzak nesnelere başvurular alma yöntemlerini içerir.Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects. Bu sınıf devralınamaz.This class cannot be inherited.

public ref class Activator abstract sealed
public ref class Activator sealed : System::Runtime::InteropServices::_Activator
public static class Activator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Activator : System.Runtime.InteropServices._Activator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Activator : System.Runtime.InteropServices._Activator
type Activator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Activator = class
    interface _Activator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Activator = class
    interface _Activator
Public Class Activator
Public NotInheritable Class Activator
Implements _Activator
Devralma
Activator
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, Activator çalışma zamanında nesneleri dinamik olarak oluşturmak için sınıfının nasıl kullanılacağını gösterir.The following example shows how to use the Activator class to dynamically construct objects at run time.

using namespace System;
using namespace System::Reflection;
using namespace System::Text;

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

void main()
{
    // Create an instance of the StringBuilder type using 
    // Activator.CreateInstance.
    Object^ o = Activator::CreateInstance(StringBuilder::typeid);

    // 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, 
                                      SomeType::typeid->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
 */
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
 */
Imports System.Reflection
Imports System.Text

Module Module1
    Sub Main()
        ' Create an instance of the StringBuilder type using 
        ' Activator.CreateInstance.
        Dim o As Object = Activator.CreateInstance(GetType(StringBuilder))

        ' Append a string into the StringBuilder object and display the 
        ' StringBuilder.
        Dim sb As StringBuilder = CType(o, StringBuilder)
        sb.Append("Hello, there.")
        Console.WriteLine(sb)

        ' Create an instance of the SomeType class that is defined in this assembly.
        Dim oh As System.Runtime.Remoting.ObjectHandle = _
            Activator.CreateInstanceFrom(Assembly.GetEntryAssembly().CodeBase, _
                                         GetType(SomeType).FullName)

        ' Call an instance method defined by the SomeType type using this object.
        Dim st As SomeType = CType(oh.Unwrap(), SomeType)

        st.DoSomething(5)
    End Sub

    Class SomeType
        Public Sub DoSomething(ByVal x As Int32)
            Console.WriteLine("100 / {0} = {1}", x, 100 \ x)
        End Sub
    End Class
End Module

' This code produces the following output:
' 
' Hello, there.
' 100 / 5 = 20

Açıklamalar

CreateInstanceYöntemi, belirtilen bağımsız değişkenlerle en iyi şekilde eşleşen oluşturucuyu çağırarak bir derlemede tanımlı bir türün örneğini oluşturur.The CreateInstance method creates an instance of a type defined in an assembly by invoking the constructor that best matches the specified arguments. Herhangi bir bağımsız değişken belirtilmemişse, parametresiz Oluşturucu çağrılan ve parametresiz bir parametre alan Oluşturucu çağırılır.If no arguments are specified, the constructor that takes no parameters, that is, the parameterless constructor, is invoked.

Bir oluşturucuyu aramak ve çağırmak için yeterli izne sahip olmanız gerekir; Aksi takdirde, bir özel durum oluşturulur.You must have sufficient permission to search for and call a constructor; otherwise, an exception is thrown. Varsayılan olarak, bir Oluşturucu için arama sırasında yalnızca ortak oluşturucular göz önünde bulundurululur.By default, only public constructors are considered during the search for a constructor. Herhangi bir Oluşturucu veya parametresiz Oluşturucu bulunamazsa, bir özel durum oluşturulur.If no constructor or parameterless constructor can be found, an exception is thrown.

Ciltçi parametresi, uygun bir Oluşturucu için bir derlemeyi arayan nesneyi belirtir.A binder parameter specifies an object that searches an assembly for a suitable constructor. Kendi Ciltçi ve arama ölçütlerinizi belirtebilirsiniz.You can specify your own binder and search criteria. Hiçbir bağlayıcı belirtilmediyse, varsayılan bir bağlayıcı kullanılır.If no binder is specified, a default binder is used. Daha fazla bilgi için bkz System.Reflection.Binder . ve System.Reflection.BindingFlags sınıfları.For more information, see the System.Reflection.Binder and System.Reflection.BindingFlags classes.

Bir kanıt parametresi, oluşturucunun güvenlik ilkesini ve izinlerini etkiler.An evidence parameter affects the security policy and permissions for the constructor. Daha fazla bilgi için, System.Security.Policy.Evidence sınıfına bakın.For more information, see the System.Security.Policy.Evidence class.

Bir türün örneği, yerel veya uzak bir sitede oluşturulabilir.An instance of a type can be created at a local or remote site. Tür uzaktan oluşturulduysa, bir etkinleştirme özniteliği parametresi uzak sitenin URI 'sini belirtir.If the type is created remotely, an activation attribute parameter specifies the URI of the remote site. Örneği oluşturma çağrısı, uzak siteye ulaşmadan önce ara sitelerde geçiş gösterebilir.The call to create the instance might pass through intermediary sites before it reaches the remote site. Diğer etkinleştirme öznitelikleri, çağrının uzak ve ara sitelerde çalıştığı ortamı veya bağlamı değiştirebilir.Other activation attributes can modify the environment, or context, in which the call operates at the remote and intermediary sites.

Örnek yerel olarak oluşturulduysa, bu nesneye bir başvuru döndürülür.If the instance is created locally, a reference to that object is returned. Örnek uzaktan oluşturulursa, bir ara sunucuya yönelik bir başvuru döndürülür.If the instance is created remotely, a reference to a proxy is returned. Uzak nesne, yerel bir nesne gibi proxy üzerinden yapılır.The remote object is manipulated through the proxy as if it were a local object.

GetObjectYöntemi şu anda çalışan bir uzak nesne, sunucu tarafından etkinleştirilen iyi bilinen nesne veya XML Web hizmeti için bir ara sunucu oluşturur.The GetObject method creates a proxy to a currently running remote object, server-activated well-known object, or XML Web service. Bağlantı ortamını, diğer bir deyişle kanalı belirtebilirsiniz.You can specify the connection medium, that is, the channel. Daha fazla bilgi için, System.Runtime.Remoting.Channels.ChannelServices sınıfına bakın.For more information, see the System.Runtime.Remoting.Channels.ChannelServices class.

Derlemeler tür tanımlarını içerir.Assemblies contain type definitions. CreateInstanceYöntemi şu anda çalışan bir derlemeden bir tür örneği oluşturur.The CreateInstance method creates an instance of a type from a currently running assembly. CreateInstanceFromYöntemi, derleme içeren bir dosyadan bir örnek oluşturur.The CreateInstanceFrom method creates an instance from a file that contains an assembly. Yöntemi, bir CreateComInstanceFrom derleme içeren bir dosyadan com nesnesi örneği oluşturur.The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.

Yöntemler

CreateComInstanceFrom(String, String)

Adlandırılmış derleme dosyası ve parametresiz Oluşturucu kullanılarak, adı belirtilen bir COM nesnesi örneği oluşturur.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

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

Adlandırılmış derleme dosyası ve parametresiz Oluşturucu kullanılarak, adı belirtilen bir COM nesnesi örneği oluşturur.Creates an instance of the COM object whose name is specified, using the named assembly file and the parameterless constructor.

CreateInstance(ActivationContext)

Belirtilen nesne tarafından belirlenen türde bir örnek oluşturur ActivationContext .Creates an instance of the type designated by the specified ActivationContext object.

CreateInstance(ActivationContext, String[])

Belirtilen nesne tarafından belirlenen ActivationContext ve belirtilen özel etkinleştirme verileriyle etkinleştirilen türün bir örneğini oluşturur.Creates an instance of the type that is designated by the specified ActivationContext object and activated with the specified custom activation data.

CreateInstance(AppDomain, String, String)

Adlandırılmış derleme ve parametresiz Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and parameterless constructor.

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

Adlandırılmış derleme ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.

Adlandırılmış derleme ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(String, String)

Adlandırılmış derleme ve parametresiz Oluşturucu kullanılarak adı belirtilen türün bir örneğini oluşturur.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

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

Adlandırılmış derleme ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.

Adlandırılmış derleme ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified, using the named assembly and the constructor that best matches the specified parameters.

CreateInstance(String, String, Object[])

Adlandırılmış derleme ve parametresiz Oluşturucu kullanılarak adı belirtilen türün bir örneğini oluşturur.Creates an instance of the type whose name is specified, using the named assembly and parameterless constructor.

CreateInstance(Type)

Bu türün parametresiz oluşturucusunu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using that type's parameterless constructor.

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

Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using the constructor that best matches the specified parameters.

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

Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Boolean)

Bu türün parametresiz oluşturucusunu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using that type's parameterless constructor.

CreateInstance(Type, Object[])

Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance(Type, Object[], Object[])

Belirtilen parametrelerle en iyi eşleşen oluşturucuyu kullanarak belirtilen türde bir örnek oluşturur.Creates an instance of the specified type using the constructor that best matches the specified parameters.

CreateInstance<T>()

Parametresiz oluşturucuyu kullanarak, belirtilen genel tür parametresi tarafından belirlenen türde bir örnek oluşturur.Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

CreateInstanceFrom(AppDomain, String, String)

Adlandırılmış derleme dosyası ve parametresiz Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and parameterless constructor.

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

Adlandırılmış derleme dosyası ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and the constructor that best matches the specified parameters.

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.

Adlandırılmış derleme dosyası ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak, belirtilen uzak etki alanında adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified in the specified remote domain, using the named assembly file and the constructor that best matches the specified parameters.

CreateInstanceFrom(String, String)

Adlandırılmış derleme dosyası ve parametresiz Oluşturucu kullanılarak adı belirtilen türün bir örneğini oluşturur.Creates an instance of the type whose name is specified, using the named assembly file and parameterless constructor.

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

Adlandırılmış derleme dosyası ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified, using the named assembly file and the constructor that best matches the specified parameters.

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
Kullanımdan kalktı.

Adlandırılmış derleme dosyası ve belirtilen parametrelerle en iyi eşleşen Oluşturucu kullanılarak adı belirtilen türde bir örnek oluşturur.Creates an instance of the type whose name is specified, using the named assembly file and the constructor that best matches the specified parameters.

CreateInstanceFrom(String, String, Object[])

Adlandırılmış derleme dosyası ve parametresiz Oluşturucu kullanılarak adı belirtilen türün bir örneğini oluşturur.Creates an instance of the type whose name is specified, using the named assembly file and parameterless constructor.

GetObject(Type, String)

Belirtilen tür ve URL tarafından belirtilen iyi bilinen nesne için bir ara sunucu oluşturur.Creates a proxy for the well-known object indicated by the specified type and URL.

GetObject(Type, String, Object)

Belirtilen tür, URL ve kanal verilerinin gösterdiği iyi bilinen nesne için bir ara sunucu oluşturur.Creates a proxy for the well-known object indicated by the specified type, URL, and channel data.

Belirtik Arabirim Kullanımları

_Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.Maps a set of names to a corresponding set of dispatch identifiers.

_Activator.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_Activator.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.Provides access to properties and methods exposed by an object.

Şunlara uygulanır