Не могли бы вы объяснить, почему следующий состав не работает и решение проблемы.InvalidCastException: Невозможно сделать общий родословный Список объектов
У меня есть GroupedResult
:
public class GroupedResult<TKey, TElement>
{
public TKey Key { get; set; }
private readonly IEnumerable<TElement> source;
public GroupedResult(TKey key, IEnumerable<TElement> source)
{
this.source = source;
this.Key = key;
}
}
public class Bacon
{
}
Я хотел бы забрасывать List<string, Bacon>
к List<string, object>
. Я пробовал следующие и другие способы.
var list = new List<GroupedResult<string, Bacon>>
{
new GroupedResult<string, Bacon>("1", new List<Bacon>()),
new GroupedResult<string, Bacon>("2", new List<Bacon>())
};
var result = list.Cast<GroupedResult<string, object>>().ToList();
Но я всегда получаю следующее сообщение об ошибке:
InvalidCastException: Unable to cast object of type 'GroupedResult
2[System.String,UserQuery+Bacon]' to type 'GroupedResult
2[System.String,System.Object]'.
Классы являются инвариантными, поэтому 'GropuedResult' не является 'GroupedResult '. –
Lee