Re[8]: Проверка объекта на null
От: samius Япония http://sams-tricks.blogspot.com
Дата: 30.12.11 08:55
Оценка:
Здравствуйте, b-3, Вы писали:

b-3>Здравствуйте, samius, Вы писали:


S>>Здравствуйте, b-3, Вы писали:


b-3>>>В особо запущенных случах попытка поговорить об этом приводит к жалобам на "какой плохой язык C#, что нельзя написать static var FooInit()" и в пример ставится какой-нибудь F#/Haskell Хотя на самом деле тут дело в неумении использовать статическую типизацию.


S>>И модификатор static (var) к статической типизации отношения не имеет.

b-3>Я про глобальное выведение типов, которого в C# нет, а некоторым хочется. В частности, чтобы не писать типы возвращаемых значений у функций (var Foo()).
Я просто увидел в соседних предложениях слова static и "неумение использовать статическую типизацию". И подумал, что они как-то связаны между собой.
Кстати, и вывыедение типа по инициализации, и вывод типа результата функции в С# есть. Просто они не везде разрешены.

S>>Причем тут неумение использовать статическую типизацию, если var не отменяет статическую типизацию?

b-3>При том, что статическая типизация существует не только для того, чтобы осложнить жизнь программисту и заставить его писать лишние буквы.
Причем здесь статическая типизация, если она есть как с var, так и без него? C#, F#, Haskell — это статически типизированные языки, если не считать dynamic из C#.

b-3>Я правильно понял, что вы считаете пример с FooInit нормальным кодом?

Смотря в каком контексте.
Вообще — var и () там лишние. Но и выкидывать их из C# я бы не спешил.
Re[2]: Проверка объекта на null
От: __gas  
Дата: 30.12.11 09:01
Оценка:
Здравствуйте, aloch, Вы писали:

A> нафига WPF уже в отлаженной и без ошибок работающей программе постоянно проверяет "а мы вызваны из того же потока, из которого созданы?".


Таких программ не существует. Это миф. Поэтому и проверяет. Может и сами поймете, когда через год-другой придется расширять UI
Как известно, 90% людей верят утверждениям, начинающимся со слов «как известно».
Re[3]: Проверка объекта на null
От: hardcase Пират http://nemerle.org
Дата: 30.12.11 11:12
Оценка:
Здравствуйте, __gas, Вы писали:

__>Здравствуйте, aloch, Вы писали:


A>> нафига WPF уже в отлаженной и без ошибок работающей программе постоянно проверяет "а мы вызваны из того же потока, из которого созданы?".


__>Таких программ не существует. Это миф. Поэтому и проверяет. Может и сами поймете, когда через год-другой придется расширять UI


В WPF все гораздо хуже чем проверки потоков. В XAML связывание данных динамическое, изза при изменении свойств в классах пожно получить фигню не при компиляции, а в рантайме.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[6]: Проверка объекта на null
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 30.12.11 12:34
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Не, индусский выглядел бы вот так:


L>
L>if ((info != null).ToString().ToLower() == "true")
L>


Кстати, вот пример реального кода (и правда индусского), который проверяет некоторое свойство на null:

if (obj.SomeProp.ToString() == null)
{
    commandParams.Add("@some_prop", typeof(string));
    log.Error("SomeProp is null for object with id" + obj.SomeId.ToString());
}


И человек, кстати, очень удивился, когда я ему сказал, что это работать не будет
Re[7]: Проверка объекта на null
От: demigor  
Дата: 06.01.12 12:41
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, Lloyd, Вы писали:


L>>Здравствуйте, _d_m_, Вы писали:


HL>>>>В итоге вы лезете в определение типа и обнаруживаете там оператор приведения к Boolean.


___>>>+500

___>>>Этот индусский авнокод из-за нескольких символов ухудшает читаемость over 9000.
___>>>

L>>Не, индусский выглядел бы вот так:


L>>
L>>if ((info != null).ToString().ToLower() == "true")
L>>


L>>


___>Круче:

___>
___>if( ФункцияАнглоИндускогоПереводчика<ТЯзыкИсходный, ТЦелевойЯзык>((info != null).ToString().ToLower()) == "तात्विक" )
___>


if ((info != null).ToString().ToLower().Length == "true".Lenth)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.