A general way to convert IFoo<T> to IFoo<object>
本文关键字:lt gt IFoo to general object way convert | 更新日期: 2023-09-27 18:10:53
有一个接口:
interface IFoo<out T>
{
T Get();
}
和IFoo<int> a
、IFoo<User> u
、IFoo<string> s
等实例。有一个List<IFoo<object>>
用来收集它们。但是方差对值类型不起作用,有没有一种合适的方法把它们放在列表中?
这个列表看起来不需要泛型,所以你可以让接口实现一个非泛型接口:
interface IFoo<out T> : IFoo { }
这样,所有的对象都实现了相同的接口。这可能不是一个坏主意,因为它们确实有一些共同点。现在您可以简单地使用List<IFoo>
.