XamlType.CanAssignTo Method (XamlType)

.NET Framework (current version)

Returns a value that indicates whether an instance of this XamlType has the specified XamlType in its list of assignable types.

Namespace:   System.Xaml
Assembly:  System.Xaml (in System.Xaml.dll)

public virtual bool CanAssignTo(
	XamlType xamlType


Type: System.Xaml.XamlType

The type to check against the current XamlType .

Return Value

Type: System.Boolean

true if xamlType is in the assignable types list; otherwise, false.

Although the assignable type does not have all the capabilities of the reference type, you can use it for assignment. For example, you can use assignment to make type matches for the values of a property. The concept of assignable types in XAML is similar to the concept of casting up in the CLR type system. For example, under a CLR type system, every type has an Object in its assignable type list.

If one of the two XamlType instances that are used for comparison has IsUnknown equal to true, this method has a special Unknown mode that returns true if the two XamlType instances are equivalent.

The default implementation uses the CLR Type from UnderlyingType for this XamlType and the input XamlType, and calls IsAssignableFrom. Override this method if you want a different determination of assignable types.

Passing a null xamlType does not throw an exception and always returns false.

System_CAPS_security Security Note

CanAssignTo is virtual, and therefore, can be overridden. The override has the potential (whether for malicious purposes or otherwise) to change the assignability of a XAML type so that it no longer aligns in an expected way with the type-casting behavior of its underlying CLR type. For any security-critical checks of assignment operations and access, use the underlying CLR type instead.

.NET Framework
Available since 4.0
Return to top