null 許容文字列を定義しようとするとエラーが発生するクラス (filehelpers によって使用される) があります。
public String? ItemNum;
エラーは次のとおりです。
Error 1 The type 'string' must be a non-nullable value type in order
to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'
これは小文字string
でも発生しますが、それらの違いはまだ見ていません。
int、decimal などの別の型を使用しても問題ありません。
public decimal? ItemNum;
フィールドなどでコンストラクターを定義することについてネットで一般的に見ている人もいますが、他のフィールドが正常に機能することを考えると、文字列の何が特別なのでしょうか? それを回避するエレガントな方法はありますか?