Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

DirtyCastAndCallOnInterface

Der DirtyCastAndCallOnInterface-MDA (Managed Debugging Assistant, Assistent für verwaltetes Debuggen) wird aktiviert, wenn für eine Klassenschnittstelle, die ausschließlich für späte Bindung gekennzeichnet ist, ein früh gebundener Aufruf über eine Vtable erfolgt.

Zur Lösung wird empfohlen, eine explizite Schnittstelle für die Verwendung von COM zu definieren und Aufrufe von COM-Clients über diese Schnittstelle erfolgen zu lassen, nicht über die automatisch generierte Klassenschnittstelle. Wahlweise kann der Aufruf aus COM über IDispatch in einen spät gebundenen Aufruf umgewandelt werden.

Schließlich kann die Klasse auch als AutoDual ([ClassInterface(ClassInterfaceType.AutoDual)]) gekennzeichnet werden, um früh gebundene Aufrufe aus COM zuzulassen. Aufgrund der unter ClassInterfaceAttribute beschriebenen Versionseinschränkungen wird jedoch dringend von der Verwendung von AutoDual abgeraten.

<mdaConfig>
  <assistants>
    <dirtyCastAndCallOnInterface />
  </assistants>
</mdaConfig>
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?