Udostępnij za pośrednictwem


IDestinationTypeProvider Interfejs

Definicja

Reprezentuje usługę, która może zwrócić identyfikator systemu typu CLR dla typu docelowego. Typ docelowy ma zastosowanie, gdy typ docelowy operacji ustawienia właściwości jest pośrednio zgłaszany przez odbicie lub inne mechanizmy.

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

Uwagi

Typ zwracany przez GetDestinationType program jest rozpoznawany z bieżącej pozycji strumienia węzła XAML przy użyciu bieżącego kontekstu schematu XAML.

Jeśli używasz systemu typów XAML zgodnie z implementacją usług .NET Framework XAML i uzyskujesz dostęp do kontekstu usługi w tych warunkach, GetDestinationType zwraca UnderlyingType wartość opartą na dostępnych informacjach systemowych o typie XAML i kontekście schematu XAML opartym na clR.

Ta usługa jest odpowiednia w sytuacjach, w których czysta odbicie CLR lub inne mechanizmy mogą nie dostarczać wystarczającej ilości informacji o typie docelowym. Poniżej znajduje się lista niektórych istotnych scenariuszy dla programu IDestinationTypeProvider:

  • System typu CLR zgłasza typ pośredni ze względu na sposób, w jaki CLR definiuje i używa typów, i chcesz mieć prawdziwy typ docelowy. Na przykład interfejsy API w usługach .NET Framework XAML używają tej usługi wewnętrznie podczas przetwarzania elementów członkowskich zdarzeń. Zdarzenia są zgłaszane przez czystą odbicie CLR jako Delegate.

  • Chcesz upewnić się, że typ docelowy użycia konwertera typów jest zgodny z oczekiwanym typem, który może wygenerować konwerter typów. Ten scenariusz jest przydatny, gdy typ docelowy jest sparametryzowany lub ogólny.

  • Konwerter wartości jest wywoływany z użycia zagnieżdżonego w innym konwerterze wartości. W takim przypadku GetDestinationType rozkręci zagnieżdżanie i zwraca typ docelowy ustawionej właściwości rzeczywistej, zamiast zwracać typ wyjściowy dowolnego interweniowania konwertera wartości.

Konwertery typów i rozszerzenia znaczników mogą wysyłać zapytania o usługę IDestinationTypeProvider jako usługę w kontekście usługi, który jest dostarczany przez składnik zapisywania obiektów XAML, gdy składnik zapisywania obiektów XAML wywołuje zachowanie konwersji wartości. Aby uzyskać więcej informacji, zobacz Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions (Konwertery typów i Rozszerzenia znaczników dla języków XAML i kontekstów usług dostępnych dla konwerterów typów i rozszerzeń znaczników).

Metody

GetDestinationType()

Zwraca clR Type , który identyfikuje typ docelowy odpowiedniego konwertera typów lub rozszerzenia znaczników.

Dotyczy

Zobacz też