Typweiterleitung (C++/CLI)
Durch Typweiterleitung können Sie, um einen Typ von einer Assembly (Assembly A) zu verschieben in einer anderen Assembly (Assembly B), so, dass, es nicht notwendig ist, Clients neu zu kompilieren, die Assembly A nutzen.
Alle Plattformen
Diese Funktion wird nicht in allen Laufzeiten unterstützt.
Windows-Runtime
Diese Funktion wird in Windows-Runtime nicht unterstützt.
Voraussetzungen
Compileroption: /ZW
Common Language Runtime
Im folgenden Codebeispiel wird veranschaulicht, wie Typweiterleitung verwendet.
Syntax
#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];
Parameter
new
Die Assembly, in die Sie die Typdefinition verschieben.type
In dessen Definition des Typs, die Sie in eine andere Assembly verschieben.
Hinweise
Nachdem wird im einer Komponente (Assembly) und Clientanwendungen, Sie können keine Typweiterleitung verwenden, um einen Typ aus der Komponente (Assembly) in eine andere Assembly verschieben, werden die aktualisierten Bestandteil (und zusätzliche Assemblys erforderlich) verwendet, und die Salts funktionieren immer noch, ohne neu kompiliert.
Typ, der nur Arbeiten für die Komponenten auf die vorhandene Anwendungen weiterleitet. Wenn Sie eine Anwendung neu erstellen, müssen die entsprechenden Assemblyverweise für Typen geben, die in der Anwendung verwendet werden.
Wenn ein Typ weitergeleitet wird (A Typ) einer Assembly, müssen Sie das TypeForwardedTo-Attribut für diesen Typ sowie einen Verweis hinzufügen. Die Assembly, die Sie verweisen, muss Folgendes enthalten:
Die Definition für Typ. A.
Ein TypeForwardedTo-Attribut für Typ A sowie ein Assemblyverweis.
Beispiele von Typen, die weitergeleitetes enthalten sein können:
Verweisklassen
Wertklassen
Enumerationen
interfaces
Sie können die folgenden Typen weiterleiten:
Generische Typen
Systemeigene Typen
Geschachtelte Typen (Wenn Sie einen geschachtelten Typ übergeben möchten, sollten Sie den einschließenden Typ übergeben)
Sie können einen Typ an einer Assembly weitergeleitet, die in jeder Sprache auf die Common Language Runtime sondern erstellt wird.
Wenn eine Quellcodedatei, die verwendet wird, um Assembly A.dll erstellen, eine Typdefinition (ref class MyClass) enthält, und Sie wollte diese Typdefinition in Assembly, B.dll Sie verschieben wurde:
Verschieben Sie die MyClass-Typdefinition in eine Quellcodedatei, die verwendet wird, um B.dll zu erstellen.
Erstellen Sie B.dll Assembly
Löschen Sie die Typdefinition MyClass aus Quellcode, der verwendet wird, um A.dll zu erstellen, und ersetzen Sie sie durch Folgendes:
#using "B.dll" [assembly:TypeForwardedTo(MyClass::typeid)];
Erstellen Sie Assembly A.dll.
Verwenden Sie A.dll Clientanwendungen, ohne neu zu kompilieren.
Voraussetzungen
Compileroption: /clr