Kesalahan Kompilator CS0456
Parameter jenis 'Nama Jenis Parameter 1' memiliki batasan 'struct' sehingga 'Nama Jenis Parameter 1' tidak dapat digunakan sebagai batasan untuk 'Nama Jenis Parameter 2'
Batasan jenis nilai secara implisit disegel sehingga batasan tersebut tidak dapat digunakan sebagai batasan pada parameter jenis kedua. Ini karena jenis nilai tidak dapat diambil alih. Untuk mengatasi kesalahan ini, letakkan batasan jenis nilai langsung pada parameter jenis kedua, alih-alih melakukannya secara tidak langsung dengan menggunakan parameter jenis pertama.
Sampel berikut menghasilkan CS0456.
// CS0456.cs
// compile with: /target:library
public class GenericsErrors
{
public class G5<T> where T : struct
{
public class N<U> where U : T {} // CS0456
public class N2<U> where U : struct {} // OK
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: