zoukankan      html  css  js  c++  java
  • 学习c#反射的一个例子

    using System;
    using System.Reflection;

    namespace TestReflection
    {
      class Program
      {
        static void Main(string[] args)
        {
          IName name = AbstractFactory.GetName();
          name.ShowName();
        }
      }

      //抽象工厂类
      public class AbstractFactory
      {
        public static IName GetName()
        {
          string assemblyName = "TestReflection"//类库名字

          
    //className的值以后可以在Web.config动态获取
          
    //把className赋值为:TestReflection.EnglishName,将显示英文名字
          string className = "TestReflection.ChineseName";//类名字
          IName name = (IName)Assembly.Load(assemblyName).CreateInstance(className);
          return name;
        }
      }

      //声明一个接口,它有一个显示“名字”的功能
      public interface IName
      {
        void ShowName();
      }

      //实现接口,显示中国名字
      public class ChineseName : IName
      {
        public void ShowName()
        {
          Console.WriteLine("我中文名字叫:罗宾汉");
          Console.ReadLine();
        }
      }

      //实现接口,显示英文名字
      public class EnglishName : IName
      {
        public void ShowName()
        {
          Console.WriteLine("My name is : Robin Hood");
          Console.ReadLine();
        }
      }
    }
  • 相关阅读:
    BeautifulSoup
    python爬虫操作excel
    requests
    urllib
    线程的基本用法
    WebView
    播放多媒体文件
    调用摄像头和相册
    03 pycharm编辑默认模板
    测试
  • 原文地址:https://www.cnblogs.com/ewyb/p/2244411.html
Copyright © 2011-2022 走看看