我需要实现一种基于类似类型返回对象的方法。
public interface IBase
{
}
public class Base1 : IBase { }
public class Base2 : IBase { }
public class Base3 : IBase { }
public class MyClass
{
public IBase GetObject<T>() where T:IBase
{
// should return the object based on type.
return null;
}
}
我是否需要像GetObject方法中那样维护字典?
Dictionary<Type, IBase> test = new Dictionary<Type, IBase>();
有没有更好的方法呢?
[编辑]:-我不想每次都创建对象。我需要将其保存在内存中以及有电话时。我想从那里返回对象。除了字典,还有其他方法吗?
最佳答案
public class MyClass {
public IBase GetObject<T>() where T:IBase, new() // EDIT: Added new constraint
{
// should return the object based on type.
return new T();
}
}
关于c# - 如何实现基于传递的类型返回对象的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13466337/