ジェネリックパラメーターとしてnull可能な型は可能ですか?
私はこのようなことをしたいです: myYear = record.GetValueOrNull<int?>("myYear"), ジェネリックパラメーターとしてnull許容型を確認します。 GetValueOrNull関数がnullを返す可能性があるため、最初の試みは次のとおりです。 public static T GetValueOrNull<T>(this DbDataRecord reader, string columnName) where T : class { object columnValue = reader[columnName]; if (!(columnValue is DBNull)) { return (T)columnValue; } return null; } しかし、私が今得ているエラーは: タイプ「int?」ジェネリック型またはメソッドでパラメーター 'T'として使用するには、参照型である必要があります 正しい!Nullable<int>ですstruct!だから私はクラスの制約を制約に変更しようとしましたstruct(そして副作用としてnullこれ以上返すことはできません): public static T GetValueOrNull<T>(this DbDataRecord reader, string columnName) where T : struct …