Agenda :
Dear all In this article i would like to emphasize the essence of Work with Reflection using C#.Net :: A Comprehensive approach for retrieving of metadata information.This was demonstrated with the help of C#.Net using Linq To SQl.
Description :
In previous articles I explained different articles related toC#.Net,Asp.Net,Sql Server,XML and DotNetInterviewQuestions Related articles.Let's know how we will work with Work with Reflection using C#.Net :: A Comprehensive approach for retrieving of metadata information
About Reflection :
Types defined in System.Reflection :
Dear all In this article i would like to emphasize the essence of Work with Reflection using C#.Net :: A Comprehensive approach for retrieving of metadata information.This was demonstrated with the help of C#.Net using Linq To SQl.
Description :
In previous articles I explained different articles related toC#.Net,Asp.Net,Sql Server,XML and DotNetInterviewQuestions Related articles.Let's know how we will work with Work with Reflection using C#.Net :: A Comprehensive approach for retrieving of metadata information
About Reflection :
- Reflection is used to retrieve the metadata information on types at Runtime.
- Metadata describes about assemblies, modules and types.
- In order to work with reflection we have to use the System.Runtime Namespace
- We can use reflection to dynamically create an instance of a type, bind the type to an existing object.
Types defined in System.Reflection :
- Assembly
- Module
- Enum
- MethodInfo
- ConstructorInfo
- MemberInfo
- ParameterInfo
- TypeInfo
- FieldInfo
- EventInfo
- PropertyInfo
Steps to implement Reflection Concept:
- Create a Console Application
- Declare a Class
- Declare a Properties Inside a Class
- Declare a Constructor inside a class
- Declare a Method inside a class
- Create a type and access properties, constructor and method information of a class
Complete Example Source Code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
namespace FMTDemo
{
class P1
{
static void Main(string[] args)
{
Type type = typeof(MyClass);
PropertyInfo[] propertyInfo = type.GetProperties();
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("List of
Properties....");
Console.BackgroundColor = ConsoleColor.Blue;
foreach (var item in propertyInfo)
{
Console.WriteLine(item.Name);
}
ConstructorInfo[] constructorInfo = type.GetConstructors();
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("List of
Constructors...");
Console.BackgroundColor = ConsoleColor.White;
foreach (ConstructorInfo item in constructorInfo)
{
Console.WriteLine(item);
}
MethodInfo[] methodInfo = type.GetMethods();
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("List of
Methods...");
Console.BackgroundColor = ConsoleColor.Yellow;
foreach (var item in methodInfo)
{
Console.WriteLine(item.Name);
}
Console.ReadLine();
}
}
class MyClass
{
public int MyProperty { get; set; }
public string Name { get; set; }
public bool IsDataExists { get; set; }
public DateTime DateOfJoin { get; set; }
public MyClass()
{
}
public void A()
{
Console.WriteLine("A");
}
public void B()
{
Console.WriteLine("B");
}
public void C()
{
Console.WriteLine("C");
}
}
}
No comments :
Post a Comment