楼主这种情况涉及到一种面向对象的设计模式,工厂对象模式或者说适配器模式
using System;
namespace EFT
{
//抽象信用卡类
abstract class EFT
{
public abstract void process();
}
//具体子类虚拟支票
class VirtualCheck:EFT
{
public override void process()
{
Console.WriteLine("虚拟支票");
}
}
//具体子类万事达信用卡
class MasterCard:EFT
{
public override void process()
{
Console.WriteLine("万事达卡");
}
}
//信用卡工厂对象
class EFTFactory
{
//创建信用卡对象方法
public EFT createEFT(string type)
{
switch(type.ToLower())
{
case "Virtualcheck":
return new VirtualCheck();
break;
case "mastercard":
return new MasterCard();
break;
default:
return null;
}
}
}
//主程序(调用处)
class Client
{
[STAThread]
static void Main(string[] args)
{
EFT eft;//信用卡类
EFTFactory eftFactory=new EFTFactory();//信用卡工厂对象
eft=eftFactory.createEFT("VirtualCheck");//创建虚拟支票
eft.process();
eft=eftFactory.createEFT("mastercard");//创建万事达卡
eft.process();
Console.Read();//暂停程序运行查看输出结果
}
}
}
以上程序是某本设计模式教程里的代码,充分的展示了工厂对象设计模式的原理,这段代码希望对楼主现在的功能有所启发。