Getting Types:
Type
Object can be obtained:
From
Assembly class
From
Module class
From
instance of an object
Using
typeof keyword in C#
Type Class:
Represents type declarations: class types, interface types,
array types, value types, enumeration types, type parameters, generic type
definitions, and open or closed constructed generic types.
Properties of Type class:
Name
|
Description
|
Assembly
|
Gets the Assembly in which the type is
declared. For generic types, gets the Assembly in which the generic type is
defined.
|
AssemblyQualifiedName
|
Gets the assembly-qualified name of the
Type, which includes the name of the assembly from which the Type was loaded.
|
Attributes
|
Gets the attributes associated with the
Type.
|
BaseType
|
Gets the type from which the current Type
directly inherits.
|
ContainsGenericParameters
|
Gets a value indicating whether the current
Type object has type parameters that have not been replaced by specific
types.
|
DeclaringType
|
Gets the class that declares this member.
|
DefaultBinder
|
Gets a reference to the default binder,
which implements internal rules for selecting the appropriate members to be
called by InvokeMember.
|
FullName
|
Gets the fully qualified name of the Type,
including the namespace of the Type but not the assembly.
|
HasElementType
|
Gets a value indicating whether the current
Type encompasses or refers to another type; that is, whether the current Type
is an array, a pointer, or is passed by reference.
|
IsAbstract
|
Gets a value indicating whether the Type is
abstract and must be overridden.
|
IsAnsiClass
|
Gets a value indicating whether the string
format attribute AnsiClass is selected for the Type.
|
IsArray
|
Gets a value indicating whether the Type is
an array.
|
IsAutoClass
|
Gets a value indicating whether the string
format attribute AutoClass is selected for the Type.
|
IsAutoLayout
|
Gets a value indicating whether the class
layout attribute AutoLayout is selected for the Type.
|
IsByRef
|
Gets a value indicating whether the Type is
passed by reference.
|
IsClass
|
Gets a value indicating whether the Type is a
class; that is, not a value type or interface.
|
IsCOMObject
|
Gets a value indicating whether the Type is
a COM object.
|
IsEnum
|
Gets a value indicating whether the current
Type represents an enumeration.
|
IsGenericParameter
|
Gets a value indicating whether the current
Type represents a type parameter in the definition of a generic type or
method.
|
IsGenericType
|
Gets a value indicating whether the current
type is a generic type.
|
IsGenericTypeDefinition
|
Gets a value indicating whether the current
Type represents a generic type definition, from which other generic types can
be constructed.
|
IsImport
|
Gets a value indicating whether the Type has
a ComImportAttribute attribute applied, indicating that it was imported from
a COM type library.
|
IsInterface
|
Gets a value indicating whether the Type is
an interface; that is, not a class or a value type.
|
IsNestedAssembly
|
Gets a value indicating whether the Type is
nested and visible only within its own assembly.
|
IsNestedFamANDAssem
|
Gets a value indicating whether the Type is
nested and visible only to classes that belong to both its own family and its
own assembly.
|
IsNestedFamily
|
Gets a value indicating whether the Type is
nested and visible only within its own family.
|
IsNestedFamORAssem
|
Gets a value indicating whether the Type is
nested and visible only to classes that belong to either its own family or to
its own assembly.
|
IsNestedPrivate
|
Gets a value indicating whether the Type is
nested and declared private.
|
IsNestedPublic
|
Gets a value indicating whether a class is
nested and declared public.
|
IsNotPublic
|
Gets a value indicating whether the Type is
not declared public.
|
IsPointer
|
Gets a value indicating whether the Type is
a pointer.
|
IsPrimitive
|
Gets a value indicating whether the Type is
one of the primitive types.
|
IsPublic
|
Gets a value indicating whether the Type is
declared public.
|
IsSealed
|
Gets a value indicating whether the Type is
declared sealed.
|
IsSpecialName
|
Gets a value indicating whether the Type has
a name that requires special handling.
|
IsUnicodeClass
|
Gets a value indicating whether the string
format attribute UnicodeClass is selected for the Type.
|
IsValueType
|
Gets a value indicating whether the Type is
a value type.
|
IsVisible
|
Gets a value indicating whether the Type can
be accessed by code outside the assembly.
|
MemberType
|
Gets a MemberTypes value indicating that
this member is a type or a nested type.
|
Module
|
Gets the module (the DLL) in which the
current Type is defined.
|
Name
|
Gets the name of the current
member.(Inherited from MemberInfo.)
|
Namespace
|
Gets the namespace of the Type.
|
ReflectedType
|
Gets the class object that was used to
obtain this member.
|
TypeHandle
|
Gets the handle for the current Type.
|
UnderlyingSystemType
|
Indicates the type provided by the common
language runtime that represents this type.
|
Public Methods of Type Class
GetArrayRank
|
Gets the number of dimensions in an Array.
|
GetConstructor
|
Overloaded. Gets a specific constructor of
the current Type.
|
GetConstructors
|
Overloaded. Gets the constructors of the
current Type.
|
GetCustomAttributes
|
Overloaded. When overridden in a derived
class, returns all attributes applied to this member. (Inherited from
MemberInfo.)
|
GetDefaultMembers
|
Searches for the members defined for the
current Type whose DefaultMemberAttribute is set.
|
GetElementType
|
When overridden in a derived class, returns
the Type of the object encompassed or referred to by the current
array, pointer or reference type.
|
GetEvent
|
Overloaded. Gets a specific event declared
or inherited by the current Type.
|
GetEvents
|
Overloaded. Gets the events that are
declared or inherited by the current Type.
|
GetField
|
Overloaded. Gets a specific field of the
current Type.
|
GetFields
|
Overloaded. Gets the fields of the current Type.
|
GetGenericArguments
|
Returns an array of Type objects that
represent the type arguments of a generic type or the type parameters of a
generic type definition.
|
GetGenericTypeDefinition
|
Returns a Type object that represents
a generic type definition from which the current generic type can be
constructed.
|
GetHashCode
|
Overridden. Returns the hash code for this
instance.
|
GetInterfaces
|
When overridden in a derived class, gets all
the interfaces implemented or inherited by the current Type.
|
GetMember
|
Overloaded. Gets the specified members of
the current Type.
|
GetMembers
|
Overloaded. Gets the members (properties,
methods, fields, events, and so on) of the current Type.
|
GetMethod
|
Overloaded. Gets a specific method of the
current Type.
|
GetMethods
|
Overloaded. Gets the methods of the current Type.
|
GetNestedType
|
Overloaded. Gets a specific type nested
within the current Type.
|
GetNestedTypes
|
Overloaded. Gets the types nested within the
current Type.
|
GetProperties
|
Overloaded. Gets the properties of the
current Type.
|
GetProperty
|
Overloaded. Gets a specific property of the
current Type.
|
GetType
|
Overloaded. Gets a Type object that
represents the specified type.
|
GetTypeCode
|
Gets the underlying type code of the
specified Type.
|
GetTypeFromCLSID
|
Overloaded. Gets the type associated with
the specified class identifier (CLSID).
|
GetTypeFromHandle
|
Gets the type referenced by the specified
type handle.
|
GetTypeFromProgID
|
Overloaded. Gets the type associated with
the specified program identifier (ProgID).
|
InvokeMember
|
Overloaded. Invokes a specific member of the
current Type.
|
IsAssignableFrom
|
Determines whether an instance of the
current Type can be assigned from an instance of the specified Type.
|
IsDefined
|
When overridden in a derived class,
indicates whether one or more instance of attributeType
is applied to this member. (Inherited from MemberInfo.)
|
IsInstanceOfType
|
Determines whether the specified object is
an instance of the current Type.
|
IsSubclassOf
|
Determines whether the class represented by
the current Type derives from the class represented by the specified Type.
|
ReferenceEquals
|
Determines whether the specified Object
instances are the same instance. (Inherited from Object.)
|
ToString
|
Overridden. Returns a String
representing the name of the current Type.
|
MethodBody Class
The MethodBody class provides access to information about the
local variables and exception-handling clauses in a method body, and to the
Microsoft intermediate language (MSIL) that makes up the method body.
Important usage:
(MethodBody
Instance).LocalVariables[i].LocalType
(MethodBody
Instance).LocalVariables[i].LocalIndex
(MethodBody
Instance).GetILAsByteArray()
(MethodBody
Instance).LocalVariables[i].ExceptionHandlingClauses
Using Binding Flags:
Specifies
flags that control binding and the way in which the search for members and
types is conducted by reflection.
How to Use Binding Flags:
Type t = typeof(String);
BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
MemberInfo[] members = t.GetMembers(flags);
foreach(MemberInfo member in members)
{
Console.WriteLine("Member: {0}", member.Name);
}
Comments