XamlType.CanAssignTo(XamlType) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
public:
virtual bool CanAssignTo(System::Xaml::XamlType ^ xamlType);
public virtual bool CanAssignTo (System.Xaml.XamlType xamlType);
abstract member CanAssignTo : System.Xaml.XamlType -> bool
override this.CanAssignTo : System.Xaml.XamlType -> bool
Public Overridable Function CanAssignTo (xamlType As XamlType) As Boolean
Parametry
Zwraca
true
jeśli xamlType
znajduje się na liście typów możliwych do przypisania; w przeciwnym razie wartość false
.
Uwagi
Mimo że typ możliwy do przypisania nie ma wszystkich możliwości typu odwołania, można go użyć do przypisania. Na przykład można użyć przypisania, aby dopasować typ dla wartości właściwości. Koncepcja przypisywanych typów w języku XAML jest podobna do koncepcji rzutowania w systemie typów CLR. Na przykład w systemie typów CLR każdy typ ma element na Object liście typów możliwych do przypisania.
Jeśli jedno z dwóch XamlType wystąpień używanych do porównania ma IsUnknown wartość true
, ta metoda ma specjalny tryb Nieznany, który zwraca true
wartość , jeśli dwa XamlType wystąpienia są równoważne.
Domyślna implementacja używa środowiska CLR z tego XamlType polecenia i danych wejściowych XamlTypei wywołuje metodę IsAssignableFrom.UnderlyingType Type Zastąpij tę metodę, jeśli chcesz określić różne typy możliwe do przypisania.
Przekazanie wartości null xamlType
nie zgłasza wyjątku i zawsze zwraca wartość false
.
Ważne
CanAssignTo wartość jest wirtualna i dlatego może zostać zastąpiona. Przesłonięcie ma potencjał (do złośliwych celów lub w inny sposób), aby zmienić możliwość przypisywania typu XAML, tak aby nie był już zgodny w oczekiwany sposób z zachowaniem rzutowania typu bazowego CLR. W przypadku wszelkich kontroli krytycznych pod względem zabezpieczeń operacji przypisywania i dostępu należy zamiast tego użyć bazowego typu CLR.