XamlType.CanAssignTo(XamlType) Metodo

Definizione

Restituisce un valore che indica se un'istanza dell'oggetto XamlType dispone dell'oggetto XamlType specificato nell'elenco dei tipi assegnabili.

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

Parametri

xamlType
XamlType

Tipo da verificare rispetto all'oggetto XamlType corrente.

Restituisce

Boolean

true se xamlType è presente nell'elenco dei tipi assegnabili; in caso contrario, false.

Commenti

Anche se il tipo assegnabile non dispone di tutte le funzionalità del tipo di riferimento, è possibile usarlo per l'assegnazione. Ad esempio, è possibile usare l'assegnazione per creare corrispondenze di tipo per i valori di una proprietà. Il concetto di tipi assegnabili in XAML è simile al concetto di cast up nel sistema di tipi CLR. Ad esempio, in un sistema di tipi CLR, ogni tipo ha un oggetto nell'elenco Object dei tipi assegnabili.

Se una delle due XamlType istanze usate per il confronto è IsUnknown uguale a true, questo metodo ha una modalità Sconosciuta speciale che restituisce true se le due XamlType istanze sono equivalenti.

L'implementazione predefinita usa CLR Type da per questo XamlType e l'input XamlTypee chiama IsAssignableFromUnderlyingType . Eseguire l'override di questo metodo se si desidera una determinazione diversa dei tipi assegnabili.

Il passaggio di un valore Null xamlType non genera un'eccezione e restituisce falsesempre .

Importante

CanAssignTo è virtuale e pertanto può essere sottoposto a override. L'override ha il potenziale (sia a scopo dannoso che altro) di modificare l'assegnabilità di un tipo XAML in modo che non sia più allineato in modo previsto con il comportamento di cast dei tipi del tipo CLR sottostante. Per eventuali controlli critici per la sicurezza delle operazioni di assegnazione e dell'accesso, usare invece il tipo CLR sottostante.

Si applica a