Когда this == null: невыдуманная история из мира CLR
|
|
Среда, 11 Марта 2015 г. 08:19
+ в цитатник
Довелось как-то раз отлаживать вот такой код на C#, который «на ровном месте» падал с
NullReferenceException
:
public class Tester {
public string Property { get; set; }
public void Foo() {
this.Property = "Some string"; // NullReferenceException
}
}
Да, вот на этой самой строчке с присвоением свойства падал
NullReferenceException
. Что за дела, думаю — неужели рантайм перестал проверять наличие экземпляра перед вызовом экземплярных методов?
Как оказалось — в некотором роде
да, перестал. Правда, и компилятор оказался не тем, за кого себя выдаёт, да и проверки вовсе не гарантированы рантаймом… Подробнее — под катом.
Читать дальше → http://habrahabr.ru/post/252249/
Метки:
c#
.NET
Блог компании Enterra
cli internals
c++/cli
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-