Код: Выделить всё
public class ClassA
{
public TUid? Uid { get; set; }
}
public class ClassB : ClassA
{
public void Test()
{
ClassB dto = new ClassB();
dto.Uid = null;
}
}
Невозможно преобразовать значение null в Guid, поскольку это тип значения, не допускающий значения NULL.
Не является TUid универсального типа в ClassA заменен на Guid в ClassB, поэтому в результате должно получиться Guid? вот так?
Код: Выделить всё
public Guid? Uid { get; set; }
Код: Выделить всё
public class ClassA
{
public TUid? Uid { get; set; }
}
Код: Выделить всё
public class ClassB : ClassA
Что такого в правилах вывода типа параметра, что сбивает с толку компилятор в первом примере?
Подробнее здесь: https://stackoverflow.com/questions/785 ... e-property