2012-11-01 24 views

Trả lời

8

Ràng buộc không nullable trên các loại là một tính năng F # cụ thể và vì vậy nó không có bất kỳ đại diện nào trong .NET (và do đó C# không tôn trọng nó).

Trong thực tế, bạn có thể workaround này ngay cả trong F # sử dụng không an toàn Unchecked.defaultof<_> giá trị:

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

này rất hữu ích nếu bạn muốn kiểm tra cho null trong một đối tượng mà được tiếp xúc với C#:

type Wrapper (value: test) = 
    if value = Unchecked.defaultof<_> then 
     invalidArg "value" "Value should not be null." 
    member val Value = value with get, set 
Các vấn đề liên quan