C#我可以在返回不同泛型类的非泛型类中创建泛型方法或属性吗?
发布时间:2020-12-16 01:41:26 所属栏目:百科 来源:网络整理
导读:我有一个抽象的泛型类.我想在那里定义一个方法,所以我不必在所有派生类中都这样做. 基本上我需要根据泛型类的类型来获取一个存储库类. 我通过另一个非泛型的类获取repoistories. 如何让该类根据泛型调用者具有的类型返回通用存储库? 我希望这样的事情. publ
我有一个抽象的泛型类.我想在那里定义一个方法,所以我不必在所有派生类中都这样做.
基本上我需要根据泛型类的类型来获取一个存储库类. 我通过另一个非泛型的类获取repoistories. 如何让该类根据泛型调用者具有的类型返回通用存储库? 我希望这样的事情. public IRepository<T> Table<T>() { return _container.Resolve<IRepository<T>>(); } 如果它是一个财产,它会更好. 解决方法
我没有看到问题.你可以编写这样编译的代码.这不是你想要的吗?
interface IRepository<T> { T GetData(); } class Container { private object[] data = null; public T Resolve<T>() { return(T)data.First(t => t.GetType() is T); } } abstract class Handler<T> { private Container _container; public IRepository<T> Table { get { return _container.Resolve<IRepository<T>>(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |