ho questo C# DLL:F #/.NET nullo esempio stranezza
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;
}
}
}
E questo # app F che fa riferimento al DLL:
open TestCSProject
printfn "%d" (TestClass.Instance.Add(10,20))
Nessuno avvia la variabile statica Instance
. Indovina qual è l'uscita dell'app F #?
this is null 30 Press any key to continue . . .
Dopo alcuni test ho scoperto che a meno che usi this
(ad esempio per accedere campo esempio), non otterrà NullReferenceExpcetion.
È un comportamento previsto o uno spazio nella compilazione F #/CLR?
+1: oh wow, è qualcosa che non ho visto prima :) – Juliet