Reflection provides object(of type Type) that describe assemblies modules and types.
so we can use reflection to get the info about the assemblies i.e we can access all types of objects in the dll.here I am going to demonstrate the use of Type and LoadFile to to get the name of the classes in the dll.
demo code :
using System;
using System.Collections;
using System.Reflection;
namespace Zeewon.Tests
{
public class GetClassInDll
{
public GetClassInDll()
{
}
//string dllname is the path of the dll
//as LoadFile takes the absolute path the absolute path should be provided as parameter
public ArrayList GetClassName(string dllName)
{
Assembly assem = null;
try
{
assem = Assembly.LoadFile(dllName);
}
catch (Exception ex)
{
throw ex;
}
Type[] allType = assem.GetTypes();
ArrayList arrList = new ArrayList();
foreach (Type t in allType)
{
arrList.Add(t.Name.ToString());
}
//returns the ArrayList of the classes in the dll
return arrList;
}
}
}
This code shows how to get the list of classes from the dll.as reflection describes the assembly we can also perform other functions to get the metadata and other infos like getting the list of methods from the dll.
refrences:
http://msdn.microsoft.com/en-us/library/ms173183%28v=VS.90%29.aspx
This post is based on my knowledge and may not be accurate .if any mistakes please let me know .
Thank You for reading
Regards,
sushil sapkota
so we can use reflection to get the info about the assemblies i.e we can access all types of objects in the dll.here I am going to demonstrate the use of Type and LoadFile to to get the name of the classes in the dll.
demo code :
using System;
using System.Collections;
using System.Reflection;
namespace Zeewon.Tests
{
public class GetClassInDll
{
public GetClassInDll()
{
}
//string dllname is the path of the dll
//as LoadFile takes the absolute path the absolute path should be provided as parameter
public ArrayList GetClassName(string dllName)
{
Assembly assem = null;
try
{
assem = Assembly.LoadFile(dllName);
}
catch (Exception ex)
{
throw ex;
}
Type[] allType = assem.GetTypes();
ArrayList arrList = new ArrayList();
foreach (Type t in allType)
{
arrList.Add(t.Name.ToString());
}
//returns the ArrayList of the classes in the dll
return arrList;
}
}
}
This code shows how to get the list of classes from the dll.as reflection describes the assembly we can also perform other functions to get the metadata and other infos like getting the list of methods from the dll.
refrences:
http://msdn.microsoft.com/en-us/library/ms173183%28v=VS.90%29.aspx
This post is based on my knowledge and may not be accurate .if any mistakes please let me know .
Thank You for reading
Regards,
sushil sapkota
Comments
Post a Comment