Chyba kompilátoru CS0315
Typ valueType nelze použít jako parametr typu T v obecném typu nebo metodě TypeorMethod<T>. Neexistuje žádný převod boxingu z valueType na referenceType.
K této chybě dochází, když omezíte obecný typ na konkrétní třídu a pokusíte se sestavit instanci této třídy pomocí typu hodnoty, který nelze implicitně zadávat do pole.
- Jedním zřešeních
Následující příklad vygeneruje CS0315:
// 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;
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: