Здравствуйте, 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# я бы не спешил.
Здравствуйте, aloch, Вы писали:
A> нафига WPF уже в отлаженной и без ошибок работающей программе постоянно проверяет "а мы вызваны из того же потока, из которого созданы?".
Таких программ не существует. Это миф. Поэтому и проверяет. Может и сами поймете, когда через год-другой придется расширять UI
Как известно, 90% людей верят утверждениям, начинающимся со слов «как известно».
Здравствуйте, __gas, Вы писали:
__>Здравствуйте, aloch, Вы писали:
A>> нафига WPF уже в отлаженной и без ошибок работающей программе постоянно проверяет "а мы вызваны из того же потока, из которого созданы?".
__>Таких программ не существует. Это миф. Поэтому и проверяет. Может и сами поймете, когда через год-другой придется расширять UI
В WPF все гораздо хуже чем проверки потоков. В XAML связывание данных динамическое, изза при изменении свойств в классах пожно получить фигню не при компиляции, а в рантайме.
Кстати, вот пример реального кода (и правда индусского), который проверяет некоторое свойство на null:
if (obj.SomeProp.ToString() == null)
{
commandParams.Add("@some_prop", typeof(string));
log.Error("SomeProp is null for object with id" + obj.SomeId.ToString());
}
И человек, кстати, очень удивился, когда я ему сказал, что это работать не будет
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, Lloyd, Вы писали:
L>>Здравствуйте, _d_m_, Вы писали:
HL>>>>В итоге вы лезете в определение типа и обнаруживаете там оператор приведения к Boolean.
___>>>+500 ___>>>Этот индусский авнокод из-за нескольких символов ухудшает читаемость over 9000. ___>>>
L>>Не, индусский выглядел бы вот так:
L>>