Я пытаюсь понять неявные отбрасывания родовых типов. Следующие строки кодов не скомпилируется:C# неявные отбрасывания родовых типов
class Dataset : Dictionary<string, string>
{
}
class Section : List<Dataset>
{
public List<Dictionary<string, string>> ToBase()
{
return this;
}
}
Однако, если добавить следующий оператор неявного к классу Секции они компилировать.
public static implicit operator List<Dictionary<string, string>>(Section section)
{
return section;
}
Что действительно меняют эти линии? (Кстати: ReSharper в настоящее время показывает «Конверсия в базовом классе» ошибка, но я не мог найти ничего об этом
Может кто-нибудь, пожалуйста, объясните мне, что здесь происходит ?? спасибо !!
_ "не будет собирать" _ - почему нет? Поделитесь ошибками компилятора и покажите свои исследования. – CodeCaster