編譯器錯誤 CS0403
更新:2007 年 11 月
錯誤訊息
無法將 null 轉換成型別參數 'name',因為它是不可為 Null 的實值型別。請考慮使用 default('T') 代替。
您無法將 null 指派給具名的未知型別,因為它可能是不允許 null 指派的實值型別。如果您的泛型類別不是用來接受實值型別,請使用類別的型別條件約束。如果類別能接受實值型別 (例如內建型別),您可以使用運算式 default(T) 取代指派 null,如下列範例所示。
範例
下列範例會產生 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
}
}