C# Class System.Dynamic.Utils.TypeUtils

Afficher le fichier Open project: dotnet/corefx

Private Properties

Свойство Type Description
FindConversionOperator System.Reflection.MethodInfo
IsContravariant bool
IsCovariant bool
IsDelegate bool
IsFloatingPoint bool
IsImplicitBoxingConversion bool
IsImplicitNullableConversion bool
IsImplicitNumericConversion bool
IsImplicitReferenceConversion bool
IsInvariant bool
IsUnsigned bool

Méthodes publiques

Méthode Description
AreEquivalent ( Type t1, Type t2 ) : bool
AreReferenceAssignable ( Type dest, Type src ) : bool
CanCache ( this t ) : bool

We can cache references to types, as long as they aren't in collectible assemblies. Unfortunately, we can't really distinguish between different flavors of assemblies. But, we can at least create a cache for types in mscorlib (so we get the primitives, etc).

FindGenericType ( Type definition, Type type ) : Type
GetBooleanOperator ( Type type, string name ) : MethodInfo

Searches for an operator method on the type. The method must have the specified signature, no generic arguments, and have the SpecialName bit set. Also searches inherited operator methods. NOTE: This was designed to satisfy the needs of op_True and op_False, because we have to do runtime lookup for those. It may not work right for unary operators in general.

GetNonNullableType ( this type ) : Type
GetNonRefType ( this type ) : Type
GetNullableType ( this type ) : Type
GetUserDefinedCoercionMethod ( Type convertFrom, Type convertToType ) : MethodInfo
HasBuiltInEqualityOperator ( Type left, Type right ) : bool
HasIdentityPrimitiveOrNullableConversionTo ( this source, Type dest ) : bool
HasReferenceConversionTo ( this source, Type dest ) : bool
HasReferenceEquality ( Type left, Type right ) : bool
IsArithmetic ( this type ) : bool
IsBool ( this type ) : bool
IsConvertible ( this type ) : bool
IsImplicitlyConvertibleTo ( this source, Type destination ) : bool
IsInteger ( this type ) : bool
IsInteger64 ( this type ) : bool
IsIntegerOrBool ( this type ) : bool
IsLegalExplicitVariantDelegateConversion ( Type source, Type dest ) : bool
IsNullableOrReferenceType ( this type ) : bool
IsNullableType ( this type ) : bool
IsNumeric ( this type ) : bool
IsNumericOrBool ( this type ) : bool
IsSameOrSubclass ( Type type, Type subType ) : bool
IsUnsignedInt ( this type ) : bool
IsValidInstanceType ( MemberInfo member, Type instanceType ) : bool
IsVector ( this type ) : bool
ValidateType ( Type type, string paramName ) : void
ValidateType ( Type type, string paramName, int index ) : void

Private Methods

Méthode Description
FindConversionOperator ( MethodInfo methods, Type typeFrom, Type typeTo ) : MethodInfo
IsContravariant ( Type t ) : bool
IsCovariant ( Type t ) : bool
IsDelegate ( Type t ) : bool
IsFloatingPoint ( this type ) : bool
IsImplicitBoxingConversion ( Type source, Type destination ) : bool
IsImplicitNullableConversion ( Type source, Type destination ) : bool
IsImplicitNumericConversion ( Type source, Type destination ) : bool
IsImplicitReferenceConversion ( Type source, Type destination ) : bool
IsInvariant ( Type t ) : bool
IsUnsigned ( this type ) : bool

Method Details

AreEquivalent() public static méthode

public static AreEquivalent ( Type t1, Type t2 ) : bool
t1 Type
t2 Type
Résultat bool

AreReferenceAssignable() public static méthode

public static AreReferenceAssignable ( Type dest, Type src ) : bool
dest Type
src Type
Résultat bool

CanCache() public static méthode

We can cache references to types, as long as they aren't in collectible assemblies. Unfortunately, we can't really distinguish between different flavors of assemblies. But, we can at least create a cache for types in mscorlib (so we get the primitives, etc).
public static CanCache ( this t ) : bool
t this
Résultat bool

FindGenericType() public static méthode

public static FindGenericType ( Type definition, Type type ) : Type
definition Type
type Type
Résultat Type

GetBooleanOperator() public static méthode

Searches for an operator method on the type. The method must have the specified signature, no generic arguments, and have the SpecialName bit set. Also searches inherited operator methods. NOTE: This was designed to satisfy the needs of op_True and op_False, because we have to do runtime lookup for those. It may not work right for unary operators in general.
public static GetBooleanOperator ( Type type, string name ) : MethodInfo
type Type
name string
Résultat System.Reflection.MethodInfo

GetNonNullableType() public static méthode

public static GetNonNullableType ( this type ) : Type
type this
Résultat Type

GetNonRefType() public static méthode

public static GetNonRefType ( this type ) : Type
type this
Résultat Type

GetNullableType() public static méthode

public static GetNullableType ( this type ) : Type
type this
Résultat Type

GetUserDefinedCoercionMethod() public static méthode

public static GetUserDefinedCoercionMethod ( Type convertFrom, Type convertToType ) : MethodInfo
convertFrom Type
convertToType Type
Résultat System.Reflection.MethodInfo

HasBuiltInEqualityOperator() public static méthode

public static HasBuiltInEqualityOperator ( Type left, Type right ) : bool
left Type
right Type
Résultat bool

HasIdentityPrimitiveOrNullableConversionTo() public static méthode

public static HasIdentityPrimitiveOrNullableConversionTo ( this source, Type dest ) : bool
source this
dest Type
Résultat bool

HasReferenceConversionTo() public static méthode

public static HasReferenceConversionTo ( this source, Type dest ) : bool
source this
dest Type
Résultat bool

HasReferenceEquality() public static méthode

public static HasReferenceEquality ( Type left, Type right ) : bool
left Type
right Type
Résultat bool

IsArithmetic() public static méthode

public static IsArithmetic ( this type ) : bool
type this
Résultat bool

IsBool() public static méthode

public static IsBool ( this type ) : bool
type this
Résultat bool

IsConvertible() public static méthode

public static IsConvertible ( this type ) : bool
type this
Résultat bool

IsImplicitlyConvertibleTo() public static méthode

public static IsImplicitlyConvertibleTo ( this source, Type destination ) : bool
source this
destination Type
Résultat bool

IsInteger() public static méthode

public static IsInteger ( this type ) : bool
type this
Résultat bool

IsInteger64() public static méthode

public static IsInteger64 ( this type ) : bool
type this
Résultat bool

IsIntegerOrBool() public static méthode

public static IsIntegerOrBool ( this type ) : bool
type this
Résultat bool

IsLegalExplicitVariantDelegateConversion() public static méthode

public static IsLegalExplicitVariantDelegateConversion ( Type source, Type dest ) : bool
source Type
dest Type
Résultat bool

IsNullableOrReferenceType() public static méthode

public static IsNullableOrReferenceType ( this type ) : bool
type this
Résultat bool

IsNullableType() public static méthode

public static IsNullableType ( this type ) : bool
type this
Résultat bool

IsNumeric() public static méthode

public static IsNumeric ( this type ) : bool
type this
Résultat bool

IsNumericOrBool() public static méthode

public static IsNumericOrBool ( this type ) : bool
type this
Résultat bool

IsSameOrSubclass() public static méthode

public static IsSameOrSubclass ( Type type, Type subType ) : bool
type Type
subType Type
Résultat bool

IsUnsignedInt() public static méthode

public static IsUnsignedInt ( this type ) : bool
type this
Résultat bool

IsValidInstanceType() public static méthode

public static IsValidInstanceType ( MemberInfo member, Type instanceType ) : bool
member System.Reflection.MemberInfo
instanceType Type
Résultat bool

IsVector() public static méthode

public static IsVector ( this type ) : bool
type this
Résultat bool

ValidateType() public static méthode

public static ValidateType ( Type type, string paramName ) : void
type Type
paramName string
Résultat void

ValidateType() public static méthode

public static ValidateType ( Type type, string paramName, int index ) : void
type Type
paramName string
index int
Résultat void