码迷,mamicode.com
首页 > 其他好文 > 详细

关于反射的学习

时间:2014-07-16 21:11:15      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   for   

前边看抽象工厂模式时,对反射有些不熟悉,这两天学习了一下,把成果记下来。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReflectTest
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFile(@"D:\\liujisong\\Documents\\Visual Studio 2012\\Projects\\TestDesignPattern\\TransportStyle\\bin\\Debug\\TransportStyle.dll");
            //Type[] t = a.GetTypes();

            //foreach (Type objType in t)
            //{
            //    string s = objType.ToString();
            //    object objClass = a.CreateInstance(s);
            //    System.Reflection.MethodInfo method = objType.GetMethod("reuturn");
            //    Console.WriteLine(method.Invoke(objClass, null));
            //}

            object obj;

            //想要调用的程序集中的类中的方法
            System.Reflection.MethodInfo method = assembly.GetType("TransportStyle.Car").GetMethod("reuturn");

            //类的实例
            obj = assembly.CreateInstance("TransportStyle.Car");

            //取得方法返回值
            string s = (string)method.Invoke(obj, null);

            Console.WriteLine(s);
            Console.ReadKey();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TransportStyle
{
    public class Translation
    {
        public Translation()
        {
 
        }

        public virtual string reuturn()
        {
            return "this is 交通工具";
        }
    }

    public class Car : Translation
    {
        public override string reuturn()
        {
            return "this is 汽车";
        }
    }

    public class Ship : Translation
    {
        public override string reuturn()
        {
            return "this is 轮船";
        }
    }

    public class Plan : Translation
    {
        public override string reuturn()
        {
            return "this is 飞机";
        }
    }
}

这只是基础的,有时间再继续往深处钻钻!

关于反射的学习,布布扣,bubuko.com

关于反射的学习

标签:des   style   blog   color   os   for   

原文地址:http://www.cnblogs.com/wym1140679188/p/3836147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!