学习c#反射的一个例子
2011-11-10 14:14
387 查看
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();
}
}
}
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();
}
}
}
相关文章推荐
- C# 一个用到WPF 和 反射的例子.
- 通过一个例子学习反射的使用
- C# 关于反射类[System.Reflection]的一个小例子
- [转] 学习C#静态函数及变量的一个精典例子
- C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 ——兔子党逍遥原创,转来分享学习
- 学习php反射(3)——一个依赖注入的例子
- c#学习笔记之九 事件(event)的使用,一个简单的例子揭示其设计理念
- 学习javascript的闭包特性用C#来实现一个简单的例子
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- 基于C#的重构学习(一个完整的小例子)
- 学习C#静态函数及变量的一个精典例子与代码
- 写一个简单的C#反射的例子(附有源码)
- 对我学习C#至今所写的软件做一个总结
- 一个简单的C#多线程间同步的例子
- 【c#学习笔记】在一个构造方法中调用另一个构造方法的写法
- CodeProject - 在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- C#中的数组中的方法(一个例子)
- C# 中“自定义属性” 功能和 反射的使用 例子
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(二)
- 进程管理学习例子 c#书籍