Click here to Skip to main content
15,886,788 members
Articles / Programming Languages / C#

Reflection in .NET

Rate me:
Please Sign up or sign in to vote.
4.80/5 (147 votes)
9 Feb 2010CPOL12 min read 482.9K   5.3K   289  
.NET Framework’s Reflection API allows you to fetch type (assembly) information at runtime.
using System;
using System.Reflection;
using System.Text;

namespace Reflection
{
    class GetParameterInfoDemo
    {
        static void Main()
        {
            // Get name of type
            Type t = typeof(Car);
            GetParametersInfo(t);

            Console.ReadLine();
        }
        //Display Method return Type and paralmeters list
        public static void GetParametersInfo(Type t)
        {
            Console.WriteLine("***** GetParametersInfo *****");
            MethodInfo[] mi = t.GetMethods();
            foreach (MethodInfo m in mi)
            {
                // Get return value.
                string retVal = m.ReturnType.FullName;
                StringBuilder paramInfo = new StringBuilder();
                paramInfo.Append("(");

                // Get params.
                foreach (ParameterInfo pi in m.GetParameters())
                {
                    paramInfo.Append(string.Format("{0} {1} ", pi.ParameterType, pi.Name));
                }
                paramInfo.Append(")");

                // Now display the basic method sig.
                Console.WriteLine("->{0} {1} {2}", retVal, m.Name, paramInfo);
            }
            Console.WriteLine("");
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Comments and Discussions