Chyba kompilátoru CS0453
Typ Type Name musí být nenulový typ hodnoty, aby se použil jako parametr Název parametru v obecném typu nebo metodě Obecný identifikátor.
K této chybě dochází v případě, že při vytváření instance obecného typu nebo metody, která má omezení hodnoty, použijete argument typu bez hodnoty. Může k němu také dojít, když použijete argument typu hodnoty null. Podívejte se na poslední dva řádky kódu v následujícím příkladu.
Následující kód vygeneruje tuto chybu.
// 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>>> { }
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: