我想在 C# 中做一些类似 co-variance 的事情,但我在这里没有任何继承。
我有这个代码:
public interface IBirthday
{
void Dance ();
}
public class Birthday:IBirthday
{
public void Dance()
{}
}
void Main()
{
List<Birthday> l= new List<Birthday>();
List<IBirthday> d = l; //<--- How can I accomplish that ?
}
我怎样才能使这项工作?(除了手动迭代和构建(linq 或循环))
List<IBirthday> d = list of birthdays ?
迭代/linq 是唯一的选择吗?