gpt4 book ai didi

c# - 如何实现根据传递的类型返回对象的方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:49 25 4
gpt4 key购买 nike

我需要实现一个方法,该方法返回一个基于类似类型的对象。

 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com