Freigeben über


IDestinationTypeProvider Schnittstelle

Definition

Stellt einen Dienst dar, von dem ein CLR-Typsystembezeichner für den Zieltyp zurückgegeben werden kann. Der Zieltyp ist in Fällen relevant, in denen der Zieltyp für einen property-setting-Vorgang durch Reflektion oder andere Mechanismen indirekt gemeldet wird.

public interface class IDestinationTypeProvider
public interface IDestinationTypeProvider
type IDestinationTypeProvider = interface
Public Interface IDestinationTypeProvider

Hinweise

Der von zurückgegebene GetDestinationType Typ wird mithilfe des aktuellen XAML-Schemakontexts von der aktuellen Position des XAML-Knotenstreams aufgelöst.

Wenn Sie das XAML-Typsystem verwenden, wie es von .NET Framework XAML-Diensten implementiert wird, und unter diesen Bedingungen auf den Dienstkontext zugreifen, GetDestinationType gibt das UnderlyingType basierend auf verfügbaren XAML-Typsysteminformationen und CLR-basierten XAML-Schemakontext zurück.

Dieser Dienst ist für Situationen relevant, in denen die reine CLR-Reflexion oder andere Mechanismen möglicherweise nicht genügend Informationen zu einem Zieltyp bereitstellen. Die folgende Liste enthält einige relevante Szenarien für IDestinationTypeProvider:

  • Das CLR-Typsystem meldet einen indirekten Typ, da die CLR Typen definiert und verwendet, und Sie möchten einen echten Zieltyp. Beispielsweise verwenden die APIs in .NET Framework XAML-Dienste diesen Dienst intern, wenn sie Ereignismember verarbeiten. Ereignisse werden von der reinen CLR-Reflexion als Delegategemeldet.

  • Sie möchten sicherstellen, dass der Zieltyp einer Typkonverterverwendung dem erwarteten Typ entspricht, den der Typkonverter erzeugen kann. Dieses Szenario ist nützlich, wenn der Zieltyp parametrisiert oder generisch ist.

  • Ihr Wertkonverter wird von einer Verwendung aufgerufen, die in einem anderen Wertkonverter geschachtelt ist. In diesem Fall GetDestinationType wird die Schachtelung entladen und der Zieltyp der tatsächlich festgelegten Eigenschaft zurückgegeben, anstatt den Ausgabetyp eines beliebigen dazwischenliegenden Wertkonverters zurückzugeben.

Typkonverter und Markuperweiterungen können as a Service für den Dienstkontext abfragen IDestinationTypeProvider , der von einem XAML-Objektschreiber bereitgestellt wird, wenn der XAML-Objektschreiber das Wertkonvertierungsverhalten aufruft. Weitere Informationen finden Sie unter Typkonverter und Markuperweiterungen für XAML - und Dienstkontexte, die für Typkonverter und Markuperweiterungen verfügbar sind.

Methoden

GetDestinationType()

Gibt den CLR-Type zurück, der den Zieltyp für den relevanten Typkonverter oder die Markuperweiterung angibt.

Gilt für:

Weitere Informationen