среда, октября 14, 2009

Маленький такой сюрпризик

Казалось бы, два определения свойства эквивалентны:

   1: public StyleOfViewList ListViewStyle {
   2:     get { return listviewstyle; }
   3:     set { listviewstyle = value; }
   4: }
   5: StyleOfViewList listviewstyle = StyleOfViewList.GridStyle;
и
   1: public StyleOfViewList ListViewStyle { get; set; }

Тип свойств – обыкновенное перечисление

   1: public enum StyleOfViewList : byte { GridStyle = 1, PackedStyle = 2 }

Действительно, Рефлектор показывает для обеих конструкций практически одинаковый код, да и опыт с документацией подсказывают, что должно быть без разницы, какую из конструкций использовать… И так оно и есть, пока вторая конструкция не использована в определении свойства веб-части (с атрибутом [WebPartStorage]) – такая веб-часть становится неработоспособной.
Замена на первую конструкцию излечивает проблему. Нда…

Technorati Tags: ,
Отправить комментарий