Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Activator-Klasse

 

Veröffentlicht: Oktober 2016

Enthält Methoden, mit denen Objekttypen lokal oder remote erstellt und Verweise auf vorhandene Remoteobjekte abgerufen werden können. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Activator

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

NameBeschreibung
System_CAPS_pubmethodSystem_CAPS_staticCreateComInstanceFrom(String, String)

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Standardkonstruktors.

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

Erstellt eine Instanz des COM-Objekts mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Standardkonstruktors.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(ActivationContext)

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt wurde.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(ActivationContext, String[])

Erstellt eine Instanz des Typs, der vom angegebenen ActivationContext-Objekt festgelegt und mit den angegebenen benutzerdefinierten Aktivierungsdaten aktiviert wird.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(AppDomain, String, String)

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Standardkonstruktors.

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

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.

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

Veraltet. Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der den angegebenen Parametern am besten entspricht.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String)

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Standardkonstruktors.

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

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.

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

Veraltet. Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(String, String, Object[])

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assembly und des Standardkonstruktors.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type)

Erstellt mit dem Standardkonstruktor dieses Typs eine Instanz des angegebenen Typs.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, Boolean)

Erstellt mit dem Standardkonstruktor dieses Typs eine Instanz des angegebenen Typs.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance(Type, Object[])

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.

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

Erstellt mit dem am besten mit den angegebenen Parametern übereinstimmenden Konstruktor eine Instanz des angegebenen Typs.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstance<T>()

Erstellt mit dem parameterlosen Konstruktor eine Instanz des Typs, der vom angegebenen generischen Typparameter festgelegt wurde.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(AppDomain, String, String)

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Standardkonstruktors.

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

Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Konstruktors, der den angegebenen Parametern am besten entspricht.

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

Veraltet. Erstellt eine Instanz des Typs mit dem in der angegebenen Remotedomäne angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Konstruktors, der den angegebenen Parametern am besten entspricht.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String)

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Standardkonstruktors.

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

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.

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

Veraltet. Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Konstruktors, der mit den angegebenen Parametern am besten übereinstimmt.

System_CAPS_pubmethodSystem_CAPS_staticCreateInstanceFrom(String, String, Object[])

Erstellt eine Instanz des Typs mit dem angegebenen Namen unter Verwendung der angegebenen Assemblydatei und des Standardkonstruktors.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodSystem_CAPS_staticGetObject(Type, String)

Erstellt einen Proxy für das bekannte Objekt, das durch die Angabe von Typ und URL bestimmt wird.

System_CAPS_pubmethodSystem_CAPS_staticGetObject(Type, String, Object)

Erstellt einen Proxy für das bekannte Objekt, das durch die Angabe von Typ, URL und Channeldaten bestimmt wird.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Activator.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

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

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

Die CreateInstance Methode erstellt eine Instanz eines Typs, die in einer Assembly definiert werden, durch den Aufruf des Konstruktors, der am besten übereinstimmende die angegebenen Argumente. Wenn keine Argumente angegeben werden, wird der Konstruktor, der keine Parameter, d. h. der Standardkonstruktor akzeptiert aufgerufen.

Benötigen Sie ausreichende Berechtigungen zum Suchen und der Aufruf eines Konstruktors; Andernfalls wird eine Ausnahme ausgelöst. Standardmäßig werden nur die öffentliche Konstruktoren während der Suche nach einem Konstruktor betrachtet. Wenn kein Konstruktor oder Standardkonstruktor nicht gefunden werden kann, wird eine Ausnahme ausgelöst.

Ein Binderparameter gibt ein Objekt, das eine Assembly für einen geeigneten Konstruktor durchsucht. Sie können eigene Binder und Suchkriterien angeben. Wenn kein Binder angegeben wird, wird der Standardbinder verwendet. Weitere Informationen finden Sie in den Ausführungen zur System.Reflection.Binder-Klasse und zur System.Reflection.BindingFlags-Klasse.

Ein Evidence-Parameter wirkt sich auf die Sicherheitsrichtlinie und die Berechtigungen für den Konstruktor. Weitere Informationen finden Sie in den Ausführungen zur System.Security.Policy.Evidence-Klasse.

Eine Instanz eines Typs kann an einem lokalen oder remote-Standort erstellt werden. Wenn der Typ Remote erstellt wird, gibt ein Attributparameter Aktivierung den URI der Remotewebsite. Der Aufruf zum Erstellen der Instanz möglicherweise zwischengeschalteten Standorte durchlaufen, vor dem Erreichen der Remotewebsite. Die Umgebung oder der Kontext, in dem der Aufruf an den Standorten Remote- und zwischengeschalteten arbeitet, können andere Aktivierungsattribute ändern.

Wenn die Instanz lokal erstellt wurde, wird ein Verweis auf dieses Objekt zurückgegeben. Wenn die Instanz Remote erstellt wird, wird ein Verweis auf einen Proxy zurückgegeben. Das Remoteobjekt wird durch den Proxy bearbeitet, als handele es sich um ein lokales Objekt.

Die GetObject Methode erstellt einen Proxy einer zurzeit ausgeführten Remoteobjekt, Server aktivierten bekanntes Objekt oder XML-Webdienst. Sie können die Verbindung "Mittel", d. h. den Kanal angeben. Weitere Informationen finden Sie in den Ausführungen zur System.Runtime.Remoting.Channels.ChannelServices-Klasse.

Assemblys enthalten Typdefinitionen. Die CreateInstance Methode erstellt eine Instanz eines Typs aus einer derzeit ausgeführten Assembly. Die CreateInstanceFrom Methode erstellt eine Instanz aus einer Datei, die eine Assembly enthält. Die CreateComInstanceFrom Methode erstellt eine Instanz eines COM-Objekts aus einer Datei, die eine Assembly enthält.

Das folgende Beispiel zeigt, wie Sie die Activator Klasse, um Objekte zur Laufzeit dynamisch zu erstellen.

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
 */

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: