Skip to main content

getting the list of class from dll in asp.net c# using Reflection

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 

Comments

Popular posts from this blog

Using SqlDataAdapter to fill DataTable in c#

public DataTable List(string sql)         {             SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);             SqlCommand cmd = new SqlCommand(sql, con);             DataTable dt = new DataTable();             SqlDataAdapter da = new SqlDataAdapter(cmd);             try             {                              con.Open();                 da.Fill(dt);             }             finally             {                 con.Close();          ...

Converting List to DataTable in C#

public static DataTable ConvertToDataTable<T>(IList<T> data)         {             PropertyDescriptorCollection properties =                TypeDescriptor.GetProperties(typeof(T));             DataTable table = new DataTable();             foreach (PropertyDescriptor prop in properties)                 table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);             foreach (T item in data)             {                 DataRow row = table.NewRow();                 foreach (PropertyDescriptor prop in properties)                     row[prop.Name]...