Комментарии 15
Хреновая навигация в caliburn… теже параметры в URL только в профиль
У этого кода есть два недостатка:
- Имя свойства задается по имени, а это чревато ошибками.
Первое решается с использованием Expression
Да, согласен, так меньше шансов ошибиться, но не стоит забывать, что этот код будет работать значительно медленнее:


Разумеется, если не работать с большими-большими объемами данных разница будет не ощутима, так что для многих вещей это разумный вариант. :-)
Совершенно верно, про это я собираюсь написать в окончании статьи.
А откуда такая разница у DO и INotifyPropertyChanged?
Я конечно слышал, что DO на 15-20% быстрее при большой кол-ве данных, но не в несколько раз же.
Я конечно слышал, что DO на 15-20% быстрее при большой кол-ве данных, но не в несколько раз же.
Судя по всему, из-за рефлексии:
The first method involves using reflection.
…
Property change notifications can be provided either by implementing the INotifyPropertyChanged interface ...
The third method for resolving object references involves a source object that is a DependencyObject and a source property that is a DependencyProperty. In this case, the data binding engine does not need to use reflection. Instead, the property engine and the data binding engine together resolve the property reference independently. This is the optimal method for resolving object references used for data binding.
Есть разумная альтернатива лямбдам в виде CallerMemberNameAttribute, которая не так ужасно влияет на производительность.
Однако, как не единожды справедливо замечал impwx, она работает до тех пор, пока вы не используете обфускацию.
Однако, как не единожды справедливо замечал impwx, она работает до тех пор, пока вы не используете обфускацию.
Более того, этот аттрибут доступен в C# over 5.0 со всеми вытикающими.
Строго говоря, поддержка этого аттрибута зависит от версии платформы, а не от версии языка.
Правда, то, что аттрибут поддреживается только для .NET Framework версий 4.5, 4.5.1, 4.5.2.
Однако Microsoft BCL Portability Pack добавляет возможность пользоватся им начиная с .NET Framework 4.
Правда, то, что аттрибут поддреживается только для .NET Framework версий 4.5, 4.5.1, 4.5.2.
Однако Microsoft BCL Portability Pack добавляет возможность пользоватся им начиная с .NET Framework 4.
По поводу GroupPageViewStorage: Property узнает о свойствах модели из типа при типизации StorageHandler? Property это функтор CM?
А продолжение есть??
хотелось бы увидеть как работать с моделями (что-то о них вообще мало информации) и с DataContext. Так же с ЛОкальной БД.
хотелось бы увидеть как работать с моделями (что-то о них вообще мало информации) и с DataContext. Так же с ЛОкальной БД.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Облегченная разработка WP7 приложений при помощи Caliburn.Micro framework (ч.1)