C#反射运用

test.cs 信息

using System;
using System.Collections.Generic;
using System.Text;

namespace testclass
{
    public class Class1
    {
        public string GetName1()
        {
            return "Get the name!";
        }

        public string GetName2(string name)
        {
            return name;
        }
    }
}

App代码

    class Program
    {
        static void Main(string[] args)
        {
            System.Reflection.Assembly ass = System.Reflection.Assembly.LoadFile(@"C:\testclass.dll");
            Type type;
            object obj;
            type = ass.GetType("testclass.Class1");//必须使用名称空间+类名称
            obj = ass.CreateInstance("testclass.Class1");//必须使用名称空间+类名称

           
            System.Reflection.MethodInfo method = type.GetMethod("GetName1");//方法的名称
            string s = (string)method.Invoke(obj, null); //实例方法的调
            Console.WriteLine(s);

            method = type.GetMethod("GetName2");
            s = (string)method.Invoke(obj, new string[] { "你好!" });
            Console.WriteLine(s);
        }
    }

posted on 2010-03-29 18:12  一路前行  阅读(261)  评论(0编辑  收藏  举报