Kesalahan Kompilator CS0453
Jenis 'Type Name' harus merupakan jenis nilai yang tidak dapat diubah ke null untuk menggunakannya sebagai 'Parameter Name' parameter dalam 'Generic Identifier' jenis atau metode generik
Kesalahan ini terjadi ketika Anda menggunakan argumen jenis non-nilai dalam membuat instans jenis atau metode generik yang memiliki batasan nilai di dalamnya. Ini juga bisa terjadi saat Anda menggunakan argumen jenis nilai yang dapat diubah ke null. Lihat dua baris kode terakhir dalam contoh berikut.
Kode berikut menghasilkan kesalahan ini.
// CS0453.cs
using System;
public class HV<S> where S : struct { }
// CS0453: string is not a value type
public class H1 : HV<string> { }
// CS0453: H1 is a class, not a struct
public class H2 : HV<H1> { }
// CS0453: HV is based on a class, not a struct
public class H3<S> : HV<S> where S : class { }
public class H4<S> : HV<S> where S : struct { } // OK
// CS0453: HV accepts a nullable int type
public class H4 : HV<int?> { }
// CS0453: HV is based on Nullable type of int
public class H5 : HV<Nullable<Nullable<int>>> { }
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: