Архифлеймер
Зарегистрирован: 28 June 2006
Сообщения: 3411
Примеры кода: 0
|
Re: [dev] octalforty Waffle -- форум |
21 February 2008 21:54 |
|
|
|
|
Нахлобуч
RssFeedItem BuildRssFeedItem(IBusinessObject businessObject)
{
RssFeedItem rssFeedItem = new RssFeedItem();
if(businessObject is IBusinessObjectWithName)
rssFeedItem.Title = ((IBusinessObjectWithName)businessObject).Name;
if(businessObject is IBusinessObjectWithDesciption)
rssFeedItem.Content = ((IBusinessObjectWithDesciption)businessObject).Description;
return rssFeedItem;
}
ещё заметил интересную штуку: это ведь чистой воды эмуляция джаваскрипта. Можно вообще сделать так:
RssFeedItem BuildRssFeedItem(JSLikeObject businessObject)
{
RssFeedItem rssFeedItem = new RssFeedItem();
rssFeedItem.Title = businessObject!Name;
rssFeedItem.Content = businessObject!Description;
rssFeedItem.Email = businessObject!Email;
return rssFeedItem;
}
и будет почти полное ощущение джаваскрипта (в котором при обращении к несуществующему свойству возвращается нулл) (за исключением вызова методов); а как читаемость повышается. Аксессор реализовать в базовом классе через рефлексию и ниипёт.
|
|