나는 C#에서 공분산과 같은 것을하고 싶었지만 여기에는 상속이 없다.리스트에 <Ttype>리스트 <TInterface> C#에서?
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 (또는 루프) 수동으로 구축)?
['Cast'] (http://msdn.microsoft.com/en-us/library/bb341406.aspx)를 사용해 보셨습니까? – Oded
당신은 공분산이 부족하기 때문에 타입 안전하지 않을 수도 있습니다. 당신은'IEnumerable d = l;'할 수 있어야합니다. –
millimoose
왜 'List'을 원하십니까? 이것이 바로 여기의 핵심이며 유스 케이스는 작아 보인다. –