我有這個C#DLL:F#/。NET空實例古怪
namespace TestCSProject
{
public class TestClass
{
public static TestClass Instance = null;
public int Add(int a, int b)
{
if (this == null)
Console.WriteLine("this is null");
return a + b;
}
}
}
和引用DLL這個F#應用程序:
open TestCSProject
printfn "%d" (TestClass.Instance.Add(10,20))
沒有人發起Instance
靜態變量。猜猜F#應用程序的輸出是什麼?
this is null 30 Press any key to continue . . .
幾個測試後,我發現,除非我用this
(例如訪問實例字段),我不會得到NullReferenceExpcetion。
這是F#編譯/ CLR中的預期行爲還是缺口?
+1:哦哇,這是我以前沒見過的東西:) – Juliet 2010-09-20 16:05:40