C# ReflectionIn C#, reflection is a process to get metadata of a type at runtime. The System.Reflection namespace contains required classes for reflection such as: - Type
- MemberInfo
- ConstructorInfo
- MethodInfo
- FieldInfo
- PropertyInfo
- TypeInfo
- EventInfo
- Module
- Assembly
- AssemblyName
- Pointer etc.
The System.Reflection.Emit namespace contains classes to emit metadata.
C# Type classC# Type class represents type declarations for class types, interface types, enumeration types, array types, value types etc. It is found in System namespace. It inherits System.Reflection.MemberInfo class. C# Type PropertiesA list of important properties of Type class are given below: Property | Description |
---|
Assembly | Gets the Assembly for this type. | AssemblyQualifiedName | Gets the Assembly qualified name for this type. | Attributes | Gets the Attributes associated with the type. | BaseType | Gets the base or parent type. | FullName | Gets the fully qualified name of the type. | IsAbstract | is used to check if the type is Abstract. | IsArray | is used to check if the type is Array. | IsClass | is used to check if the type is Class. | IsEnum | is used to check if the type is Enum. | IsInterface | is used to check if the type is Interface. | IsNested | is used to check if the type is Nested. | IsPrimitive | is used to check if the type is Primitive. | IsPointer | is used to check if the type is Pointer. | IsNotPublic | is used to check if the type is not Public. | IsPublic | is used to check if the type is Public. | IsSealed | is used to check if the type is Sealed. | IsSerializable | is used to check if the type is Serializable. | MemberType | is used to check if the type is Member type of Nested type. | Module | Gets the module of the type. | Name | Gets the name of the type. | Namespace | Gets the namespace of the type. |
C# Type MethodsA list of important methods of Type class are given below: Method | Description |
---|
GetConstructors() | Returns all the public constructors for the Type. | GetConstructors(BindingFlags) | Returns all the constructors for the Type with specified BindingFlags. | GetFields() | Returns all the public fields for the Type. | GetFields(BindingFlags) | Returns all the public constructors for the Type with specified BindingFlags. | GetMembers() | Returns all the public members for the Type. | GetMembers(BindingFlags) | Returns all the members for the Type with specified BindingFlags. | GetMethods() | Returns all the public methods for the Type. | GetMethods(BindingFlags) | Returns all the methods for the Type with specified BindingFlags. | GetProperties() | Returns all the public properties for the Type. | GetProperties(BindingFlags) | Returns all the properties for the Type with specified BindingFlags. | GetType() | Gets the current Type. | GetType(String) | Gets the Type for the given name. |
C# Reflection Example: Get TypeOutput: C# Reflection Example: Get AssemblyOutput: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C# Reflection Example: Print Type InformationOutput: System.String
System.Object
true
false
false
C# Reflection Example: Print ConstructorsOutput: Constructors of System.String type...
Void .ctor(Char*)
Void .ctor(Char*, Int32, Int32)
Void .ctor(SByte*)
Void .ctor(SByte*, Int32, Int32)
Void .ctor(SByte*, Int32, Int32, System.Text.Encoding)
Void .ctor(Char[], Int32, Int32)
Void .ctor(Char[])
Void .ctor(Char, Int32)
C# Reflection Example: Print MethodsOutput: Methods of System.String type...
Boolean Equals(System.Object)
Boolean Equals(System.String)
Boolean Equals(System.String, System.StringComparison)
Char get_Chars(Int32)
Void copyTo(Int32, char[], Int32, Int32)
Char[] ToCharArray()
....
C# Reflection Example: Print FieldsOutput: Fields of System.String type...
System.String Empty
Int32 TrimHead
Int32 TrimTail
Int32 TrimBoth
Int32 charPtrAlignConst
Int32 alignConst
|