コンパイラ エラー CS0452
更新 : 2007 年 11 月
エラー メッセージ
型 '型名' は、ジェネリック型のパラメータ 'パラメータ名'、またはメソッド 'ジェネリック 識別子' として使用するために、参照型でなければなりません
このエラーは、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