帮我写一个Csharp的工厂模式代码
时间: 2023-03-28 15:00:27 浏览: 96
好的,以下是一个简单的 C# 工厂模式代码示例:
```
public interface IProduct
{
void Operation();
}
public class ConcreteProductA : IProduct
{
public void Operation()
{
Console.WriteLine("ConcreteProductA.Operation");
}
}
public class ConcreteProductB : IProduct
{
public void Operation()
{
Console.WriteLine("ConcreteProductB.Operation");
}
}
public class Factory
{
public static IProduct CreateProduct(string type)
{
switch (type)
{
case "A":
return new ConcreteProductA();
case "B":
return new ConcreteProductB();
default:
throw new ArgumentException("Invalid type", "type");
}
}
}
```
以上代码定义了一个 `IProduct` 接口和两个具体产品类 `ConcreteProductA` 和 `ConcreteProductB`,以及一个工厂类 `Factory`。工厂类的 `CreateProduct` 方法根据传入的参数类型返回相应的产品实例。
使用示例:
```
IProduct productA = Factory.CreateProduct("A");
productA.Operation(); // 输出 "ConcreteProductA.Operation"
IProduct productB = Factory.CreateProduct("B");
productB.Operation(); // 输出 "ConcreteProductB.Operation"
```
阅读全文