(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Exemplarische Vorgehensweise: Verwenden von /clr:pure-Features

Aktualisiert: November 2007

In dieser exemplarische Vorgehensweise wird die Verwendung der Reflektion in reinen MSIL-Anwendungen veranschaulicht. Die Windows Forms-Projektmappe Scribble ist um einige systemeigene Klassen erweitert worden, die statische Daten enthalten und Windows Forms-Steuerelemente verfügbar machen, die im Windows Forms-Designer verwendbar sein müssen. Das Erstellen des Beispiels mit der /clr:pure-Option geht auf potenzielle Probleme bei diesem Szenario ein. Weitere Informationen finden Sie unter Gewusst wie: Migrieren auf /clr:pure.

So erstellen Sie diese Beispielanwendung und führen sie aus

  1. Laden Sie das Beispiel ScribbleDotNET herunter.

  2. Öffnen Sie die Projektmappendatei Scribble.sln in der Visual Studio-Entwicklungsumgebung.

  3. Erstellen Sie die Projektmappe entweder mit der CLR-Pure-Debugkonfiguration oder der CLR-Pure-Releasekonfiguration.

  4. Öffnen Sie die StringDialog.h-Komponente im Entwurfsmodus.

  5. Das angezeigte Entwurfsfenster enthält eine Instanz von "ScribbleCustomControl".

  • Neue C++-Syntax für .NET

  • Reflektion

  • marshal_as<T> für Zugriff aus verwalteten Klassen auf systemeigene Typen

In diesem Beispiel wird eine nicht verwaltete Klasse erstellt und in eine verwaltete Steuerelementklasse eingebunden. Nach der Kompilierung in eine reine MSIL-Anwendung kann der Windows Forms-Designer von Visual Studio über die sich ergebende EXE-Datei reflektieren und das verwaltete Steuerelement zur Verwendung im Windows Forms-Designer laden. Dies ist nur möglich, wenn die aktuelle Konfiguration eine reine MSIL-Anwendung erstellt, nicht aber im nicht verwalteten oder gemischten Modus.

Innerhalb des Steuerelements wird eine Instanz einer systemeigenen Klasse instanziiert. Die Information, die benötigt wird, ist eine systemeigene Zeichenfolge. Mit marshal_as<T> werden die Daten in einen verwalteten Datentyp konvertiert, der in einer CLR-aktivierten Anwendung verwendet werden kann. Weitere Informationen über die Marshallingbibliothek finden Sie unter Overview of Marshaling in C++.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.