Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS0451

Batasan 'new()' tidak dapat digunakan dengan batasan 'struktur'

Saat menentukan batasan pada jenis generik, batasan new() hanya dapat digunakan dengan batasan jenis kelas, batasan jenis antarmuka, batasan jenis referensi, dan batasan parameter jenis, tetapi tidak dengan batasan jenis nilai.

Contoh

Sampel berikut menghasilkan CS0451.

// CS0451.cs  
using System;  
public class C4
{  
   public void F4<T>() where T : struct, new() {}   // CS0451  
}  
  
// OK  
public class C5  
{  
   public void F5<T>() where T : struct {}  
}  
  
public class C6  
{  
   public void F6<T>() where T : new() {}  
}