英語で読む

次の方法で共有


コンパイラ エラー CS0403

Null 非許容の値型である可能性があるため、Null を型パラメーター 'name' に変換できません。 代わりに 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  
    }  
}