Вызов null.SomeMethod();
От: _ichensky Европа https://github.com/ichensky
Дата: 08.10.15 15:14
Оценка: 5 (1) -8 :))
Здравствуйте,
Глупая бага .net . Почему ее не исправят?

...
        public static void SomeMethod<T>(this ICollection<T> items) 
        {
            if (items == null)
                items = new List<T>();
        }
...
class User {
    ...
    public virtual ICollection<Group> Groups { get; set; }
}
...
void func(){
    ...
    user.Groups.SomeMethod();
    // here: user.Groups == null
}


До и после вызова user.Groups.SomeMethod()
user.Groups == null

но по идее интерпретатор .net должен пердать в метод SomeMethod сслыку на поле user.Groups,
или выкинуть исключение потому что мы пишем код так
null.SomeMethod();
а то зачем нам в С# строгая типизация

а он в тихую отрабатывает метод.
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.