Sepertinya saya benar-benar tidak ada jaminan bahwa variabel yang tidak dapat dibatalkan tidak akan pernah memiliki nol. Bayangkan saya memiliki kelas yang memiliki satu properti yang tidak dapat dibatalkan:
public class Foo
{
public Foo(string test)
{
Test = test;
}
public string Test {get;set;}
}
Sekarang yang mungkin tampak seperti sekarang tidak boleh nol. Tetapi jika kita mereferensikan kelas ini dengan pustaka lain yang tidak menggunakan konteks nullable, tidak ada yang menghentikan pengiriman nol di sana.
Apakah itu benar atau ada beberapa pemeriksaan runtime juga yang mungkin memastikan ini?
public void Foo(string test){...}
ataupublic Foo(string test){...}
?