2012-11-01 3 views

Antwort

8

Die Nicht-Nullable-Einschränkung für Typen ist ein F # Spezifikum und es tut so keine Repräsentation in .NET (und daher respektiert C# es nicht).

In der Tat, können Sie dies auch in F # Umgehung einen unsicheren Unchecked.defaultof<_> Wert mit:

let trythis = new Wrapper(Unchecked.defaultof<_>) 

Dies ist sehr hilfreich, wenn Sie für null in einem Objekt überprüfen mögen, die C# ausgesetzt ist:

type Wrapper (value: test) = 
    if value = Unchecked.defaultof<_> then 
     invalidArg "value" "Value should not be null." 
    member val Value = value with get, set 
Verwandte Themen