现在的位置: 首页 > 综合 > 正文

c# 2.0 Factory的实现

2012年12月26日 ⁄ 综合 ⁄ 共 601字 ⁄ 字号 评论关闭
用C#的范型建立一个Factory模式的模板:

public struct FactoryConverter<A, B>
{
        
public static implicit operator A(FactoryConverter<A, B> conv)
        
{
            
return Activator.CreateInstance<A>();
        }


        
public static implicit operator B(FactoryConverter<A, B> conv)
        
{
            
return Activator.CreateInstance<B>();
        }

    }


    
public class Factory<A, B>
    
{
        
public FactoryConverter<A, B> Create()
        
{
            
return new FactoryConverter<A, B>();
        }

    }

使用的时候是这样的:

Factory<Foo, Bar> f = new Factory<Foo, Bar>();
Foo foo 
= f.Create();
Bar bar 
= f.Create();

编译器会做类型安全检测.

抱歉!评论已关闭.