Ошибка компилятора CS0403
Невозможно преобразовать null в параметр типа "имя", поскольку он может быть типом значения, не допускающим значения null. Используйте вместо этого default("T").
Нельзя присвоить значение NULL неизвестному типу с именем, так как он может быть типом значения, который не допускает значения NULL. Если предполагается, что универсальный класс не будет принимать типы значений, используйте ограничение типа класса. Если он может принимать типы значений, такие как встроенные типы, то можно попробовать заменить присвоение NULL выражением default(T)
, как показано в приведенном ниже примере.
Следующий пример приводит к возникновению ошибки CS0403:
// CS0403.cs
// compile with: /target:library
class C<T>
{
public void f()
{
T t = null; // CS0403
T t2 = default(T); // OK
}
}
class D<T> where T : class
{
public void f()
{
T t = null; // OK
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: