Мені здається, насправді немає гарантії того, що незмінна змінна ніколи не матиме нульового значення. Уявіть, що у мене клас, який має одну властивість, яку не можна звести нанівець:
public class Foo
{
public Foo(string test)
{
Test = test;
}
public string Test {get;set;}
}
Тепер це може здатися, що це зараз не може бути нульовим. Але якщо ми посилаємо цей клас на іншу бібліотеку, яка не використовує зведений контекст, ніщо не заважає йому надсилати нуль туди.
Це правильно чи є деякі перевірки часу виконання, а також, можливо, що забезпечують це?
public void Foo(string test){...}
чиpublic Foo(string test){...}
?