反射技术与工厂方法 (using C#)
2004-11-17 14:20
567 查看
看了http://www.cnblogs.com/zhenl/archive/2004/10/27/57456.aspx,觉得不爽,改了一下顺便装成C#了.
让我们看这样一个例子,我们需要创建一种交通工具,可以是汽车、火车或者轮船,结构如下:
using System;
using System.Reflection;
namespace ConsoleApplication1
在使用时,只要在创建时带入需要创建的类的类型就可以了。
using System;
namespace ConsoleApplication1
/**//// <summary>
/// TestFactory 的摘要说明。
/// </summary>
public class TestFactory
[STAThread]
static void Main(string[] args)
IVehicle b = VehicleFactory.CreateVehicle(typeof(Car));
Console.WriteLine(b.Color);
Console.Read();
}
}
}
在使用时,只要在创建时带入需要创建的类的类型就可以了。
让我们看这样一个例子,我们需要创建一种交通工具,可以是汽车、火车或者轮船,结构如下:
using System;
using System.Reflection;
namespace ConsoleApplication1
在使用时,只要在创建时带入需要创建的类的类型就可以了。
using System;
namespace ConsoleApplication1
/**//// <summary>
/// TestFactory 的摘要说明。
/// </summary>
public class TestFactory
[STAThread]
static void Main(string[] args)
IVehicle b = VehicleFactory.CreateVehicle(typeof(Car));
Console.WriteLine(b.Color);
Console.Read();
}
}
}
在使用时,只要在创建时带入需要创建的类的类型就可以了。
相关文章推荐
- C#中字符串的格式化及转换成数值的方法
- C#:获得文件版本信息及只读文件的删除
- C#实现的18位身份证格式验证算法[转载]
- C#:文件的按行读/写及文件目录的操作
- C#:ListBox的2个常用方法Add,Clear与Items的2个属性
- 接口继承的声明问题 [C#, BCL]
- 接口继承的声明问题 [C#, BCL]
- C# 读写注册表
- 如何把string解析为int?[C#]
- 如何把string解析为int?[C#]
- C# EXE.CONFIG应用程序配置文件
- 用C#实现WEB浏览器
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- C#读写注册表
- 应该使用c# 预定义类型 还是绝对不要使用预定义类型。
- 蛙蛙推荐:c#书写规范.doc
- 蛙蛙推荐:C#编码规范.doc
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- 在C#中使用DLL文件
- 请问在C#中如何将最小化后的窗口从Windows的状态栏上消失?