Class TypeExtensions
- Namespace
- Cuemon.Extensions
- Assembly
- Cuemon.Extensions.Core.dll
Extension methods for the Type class.
public static class TypeExtensions
- Inheritance
-
TypeExtensions
Methods
GetDefaultValue(Type)
Gets the default value of the specified type
.
public static object GetDefaultValue(this Type type)
Parameters
Returns
- Object
The default value of
type
.
HasAnonymousCharacteristics(Type)
Determines whether the specified type
suggest an anonymous implementation (be that in a form of a type, delegate or lambda expression).
public static bool HasAnonymousCharacteristics(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
suggest an anonymous implementation; otherwise,false
.
Remarks
If you can avoid it, don't use this method. It is - to say the least - fragile.
Exceptions
- ArgumentNullException
type
cannot be null.
HasAttributes(Type, Type[])
Determines whether the specified type
contains one or more of the specified attributeTypes
.
public static bool HasAttributes(this Type type, params Type[] attributeTypes)
Parameters
type
TypeThe Type to extend.
attributeTypes
Type[]The attribute target types to be matched against.
Returns
- Boolean
true
if the specifiedtype
contains one or more of the specifiedattributeTypes
; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null -or-attributeTypes
cannot be null.
HasComparableImplementation(Type)
Determines whether the specified type
implements either IComparable or IComparable<T>.
public static bool HasComparableImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either IComparable or IComparable<T>; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasComparerImplementation(Type)
Determines whether the specified type
implements either IComparer or IComparer<T>.
public static bool HasComparerImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either IComparer or IComparer<T>; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasDictionaryImplementation(Type)
Determines whether the specified type
implements either IDictionary, IDictionary<TKey,TValue> or IReadOnlyDictionary<TKey,TValue>.
public static bool HasDictionaryImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either IDictionary, IDictionary<TKey,TValue> or IReadOnlyDictionary<TKey,TValue>; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasEnumerableImplementation(Type)
Determines whether the specified type
implements either IEnumerable or IEnumerable<T>.
public static bool HasEnumerableImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either IEnumerable or IEnumerable<T>; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasEqualityComparerImplementation(Type)
Determines whether the specified type
implements either IEqualityComparer or IEqualityComparer<T>.
public static bool HasEqualityComparerImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either IEqualityComparer or IEqualityComparer<T>; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasInterfaces(Type, Type[])
Determines whether the specified type
contains one or more of the target interfaces specified throughout this member's inheritance chain.
public static bool HasInterfaces(this Type type, params Type[] interfaceTypes)
Parameters
type
TypeThe Type to extend.
interfaceTypes
Type[]The target interface types to be matched against.
Returns
- Boolean
true
if the specifiedtype
contains one or more of the target types specified throughout this member's inheritance chain; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null -or-interfaceTypes
cannot be null.
HasKeyValuePairImplementation(Type)
Determines whether the specified type
implements either DictionaryEntry or KeyValuePair<TKey,TValue>.
public static bool HasKeyValuePairImplementation(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
implements either DictionaryEntry or KeyValuePair<TKey,TValue>.; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
HasTypes(Type, Type[])
Determines whether the specified type
type contains one or more of the specified target types.
public static bool HasTypes(this Type type, params Type[] targets)
Parameters
Returns
- Boolean
true
if thetype
contains one or more of the specified target types; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null -or-targets
cannot be null.
IsComplex(Type)
Determines whether the specified type
is a complex Type.
public static bool IsComplex(this Type type)
Parameters
Returns
Exceptions
- ArgumentNullException
type
is null.
IsNullable(Type)
Determines whether the specified type
is a nullable ValueType.
public static bool IsNullable(this Type type)
Parameters
Returns
- Boolean
true
if the specifiedtype
is nullable; otherwise,false
.
Exceptions
- ArgumentNullException
type
cannot be null.
IsSimple(Type)
Determines whether the specified type
is a simple Type.
public static bool IsSimple(this Type type)
Parameters
Returns
Exceptions
- ArgumentNullException
type
is null.
ToFriendlyName(Type, Action<TypeNameOptions>)
Converts the name of the type
with the intend to be understood by humans.
public static string ToFriendlyName(this Type type, Action<TypeNameOptions> setup = null)
Parameters
type
TypeThe Type to extend.
setup
Action<TypeNameOptions>The TypeNameOptions which may be configured.
Returns
Exceptions
- ArgumentNullException
type
cannot be null.
ToTypeCode(Type)
Gets the underlying type code of the specified type
.
public static TypeCode ToTypeCode(this Type type)
Parameters
Returns
- TypeCode
The code of the underlying type, or Empty if
type
is null.