Reflection
13:42Create a new class library project and add 3 classes below:
public class ClassAge { public string getAge() { return "31"; } } class ClassName { public string getName() { return "Surajit"; } } class ClassAddress { public string getAddress() { return "Kolkata"; } }
Add new console application below:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var myAssamble = Assembly.LoadFile(@"C:\Users\Surajit\Documents\Visual Studio 2015\Projects\ClassLibrary3\ReflectionClass\bin\Debug\ReflectionClass.dll"); foreach (TypeInfo myType in myAssamble.GetTypes()) { dynamic objMyClass = Activator.CreateInstance(myType); Type parameterType = objMyClass.GetType(); foreach (MethodInfo methodInfo in parameterType.GetMethods()) { if (methodInfo.Name == "getAge" || methodInfo.Name == "getName" || methodInfo.Name == "getAddress") { Console.WriteLine("Class Name:" + parameterType.Name); var valMethod = methodInfo.Name; Console.WriteLine("Method Name:" + valMethod); var valType = methodInfo.Name.GetType(); Console.WriteLine("Method Type:" + valType); var valMethodReturn = methodInfo.Invoke(objMyClass, null); Console.WriteLine("Method Return value:" + valMethodReturn); Console.WriteLine("------"); } } } Console.ReadLine(); } } }
Output
Download
You can download application zip file here - 52 KB
0 comments