Kompilatorfel CS1750

Ett värde av typen kan inte användas som standardparameter eftersom det inte finns några standardkonverteringar att skriva

Exempel

Följande exempel genererar CS1750:

public struct S
{
    public override string ToString() { return "S::ToString"; }
}
public class A
{
    public static S Goo(S p = 42) { return p; }
}

Det finns ingen standardkonvertering mellan int och den nyligen deklarerade structen S. Om du använder en kompileringskonstant int för att initiera en instans av struct S resulterar det i CS1750. Att lägga till en användardefinierad konverteringsoperator (till exempel public static implicit operator S(int n) => ...) korrigerar inte det här felet eftersom det inte lägger till någon standardkonvertering.