суббота, 28 августа 2010 г.

Проверяемые исключения

Мне все-же не хватает в C# проверяемых исключений. Конечно я понимаю, что иногда надоедает каждый раз специфицировать все исключения подымая их выше. Но лично мне такой вариант был проще и прозрачнее, чем изучать в недрах доков библиотеки вызываемого метода, чего-же оно может кинуть. Поскольку в комментариях большинство на тэг exception по-моему забивают.
Еще сказывается проблема студии, в отличие от eclipse в студии всплывающая подсказка откровенно скудно-мелкая и почему-то не все показывает. Смотришь на неё - InvalidCastException бросается, ну ловишь его. А там оказывается до-кучи еще три варианта есть. Только узнаешь об этом в runtime и не во всех ситуациях.
Я конечно понимаю - проблемы с делегатами и все такое...
Но мне всё равно не хватает проверяемых исключений в C#! :(

среда, 6 января 2010 г.

Шаблон и экземпляры

Делаю custom control из Canvas.
Пытаюсь определить контекстное меню в xaml


получаю исключение при попытке создать экземпляр контрола:

"Невозможно добавить содержимое типа \"System.Windows.Controls.ContextMenu\" к объекту типа \"System.Object\". Ошибка объекта \"System.Windows.Controls.ContextMenu\" в файле разметки \"Design.Dui;component/src/BlocksContainerCanvas.xaml\", строка 13, позиция 18."

Спасибо MxKazan, который открыл мне глаза на форуме RSDN.
Итак проблема в невозможность копирования экземпляров не freezable классов (обратите внимание, что применение таким образом кисти не вызывает проблем - кисть является freezable). То есть, если шаблон будет иметь определение экземпляра такого класса, то такой шаблон нельзя будет применить к нескольким контролам, так как он не будет реплицироваться.

Возможно более понятно проблема изложена здесь и здесь.

Правда пока не ясно, что с этим делать :)

пятница, 1 января 2010 г.

С новым годом!!!

Наступил 2010 год. Пусть в этом году у всех нас сбудутся самые сокровенные мечты. Здоровья, успехов, удачи!!!