Baca dalam bahasa Inggris

Bagikan melalui


Compiler Error CS0315

Jenis 'valueType' tidak dapat digunakan sebagai parameter jenis 'T' dalam jenis atau metode generik 'TypeorMethod<T>'. Tidak ada konversi boxing dari 'valueType' ke 'referenceType'.

Kesalahan ini terjadi ketika Anda membatasi jenis generik ke kelas tertentu, dan mencoba membuat instans kelas tersebut dengan menggunakan jenis nilai yang tidak dapat di-boxing secara implisit.

Untuk memperbaiki kesalahan ini

  1. Salah satu solusinya adalah mendefinisikan ulang struktur sebagai kelas.

Contoh

Contoh berikut menghasilkan CS0315:

C#
// cs0315.cs  
public class ClassConstraint { }  
public struct ViolateClassConstraint { }  
  
public class Gen<T> where T : ClassConstraint  
{
}  
public class Test  
{  
    public static int Main()  
    {  
        Gen<ViolateClassConstraint> g = new Gen<ViolateClassConstraint>(); //CS0315  
        return 1;  
    }  
}  

Lihat juga