コンパイラ エラー 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