コンパイラ エラー CS0452
型 'type name' は、ジェネリック型のパラメーター 'parameter name'、またはメソッド 'identifier of generic' として使用するために、参照型でなければなりません
このエラーは、 struct
や int
などの値型を、ジェネリック型または参照型制約のあるジェネリック メソッドのパラメーターとして渡した場合に発生します。
例
次のコードではエラー CS0452 が生成されます。
// CS0452.cs
using System;
public class BaseClass<S> where S : class { }
public class Derived1 : BaseClass<int> { } // CS0452
public class Derived2<S> : BaseClass<S> where S : struct { } // CS0452
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET