How can I do the follwing:
public class BaseItem
{
public string Title { get; set; }
}
public class DerivedItem : BaseItem
{
public string Description { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<BaseItem> baseList = new List<BaseItem>();
List<DerivedItem> derivedList = new List<DerivedItem>();
baseList.Add(new BaseItem() { Title = "tester"});
derivedList.Add(new DerivedItem() { Title = "derivedTester", Description = "The Description" });
baseList.AddRange(derivedList);
}
}
Thanks,
Henk
In C# 3.0/.NET 3.5,
IEnumerable<T>is not covariant. However, this would probably work OK in C# 4.0/.NET 4.0.For now, you could (in .NET 3.5) use:
(note that you’ll need “
using System.Linq;” at the top of the file)Before that… probably easiest just to loop: