I wanted to use generics to create a Load method that would return different results based on the Generic Type. This is how I did it;
public T Load(string logicalChoice, params object[] arguments)
{
T o = (T)Activator.CreateInstance(typeof(T));
if (logicalChoice=="choice1")
{
MyList list = o as MyList;
list.Add(new Item { Id = 100, Description = "Fruit" });
list.Add(new Item { Id = 110, Description = "Dairy" });
}
else
{
Item item = o as Item;
item.Id = 100;
item.Description = "Fruit";
}
return o;
}