Атрибуты и наследование
От: Аноним  
Дата: 30.06.10 12:56
Оценка:
Добрый день!
А можно ли в классе потомке изменить значение атрибута унаследованного свойства не переопределяя при этом свойство?
Re: Атрибуты и наследование
От: _FRED_ Черногория
Дата: 30.06.10 12:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А можно ли в классе потомке изменить значение атрибута унаследованного свойства не переопределяя при этом свойство?


Зачем?
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Атрибуты и наследование
От: Аноним  
Дата: 30.06.10 13:05
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Аноним, Вы писали:


А>>А можно ли в классе потомке изменить значение атрибута унаследованного свойства не переопределяя при этом свойство?


_FR>Зачем?

Да вот таки дела:
Есть некая иерархия классов, которые серилизуются в XML и имеют атрибуты для сериализации и атрибуты для моего редактора свойств.
Как оказалось позже — ой напрасно я использовал наследование, т.к. при редактировании одного потомка для его пропертей вдруг понадобилось одно описание (лабелы на форме редактора), а при редактировании другого потомка совсем другие лабелы.
Теперь мне надо убирать из родителя проперти и переносить в потомки кучу дублирующегося кода. (((
Re[3]: Атрибуты и наследование
От: HowardLovekraft  
Дата: 30.06.10 14:02
Оценка:
Здравствуйте, Аноним, Вы писали:
А>при редактировании одного потомка для его пропертей вдруг понадобилось одно описание (лабелы на форме редактора), а при редактировании А>другого потомка совсем другие лабелы.
Т.е. смысловое значение свойства меняется от потомка к потомку?
Офигеть.
Re[4]: Атрибуты и наследование
От: Аноним  
Дата: 30.06.10 14:06
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

HL>Здравствуйте, Аноним, Вы писали:

А>>при редактировании одного потомка для его пропертей вдруг понадобилось одно описание (лабелы на форме редактора), а при редактировании А>другого потомка совсем другие лабелы.
HL>Т.е. смысловое значение свойства меняется от потомка к потомку?
HL>Офигеть.
Да, по сути наследники отличались небольшими доработками. Кроме того наследование было оправдано с точки зрения некоторых груповых операций над коллекциями объектов (ну типа полиморфизм) и тут! Оказалось что Label в редакторе свойств с надписью "Лапа" не устраивает кастомера, ему надо в одном случае "Заячья лапа" а в другом "Лисья лапа". Вот такое вот.
Re[3]: Атрибуты и наследование
От: _FRED_ Черногория
Дата: 30.06.10 14:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>А можно ли в классе потомке изменить значение атрибута унаследованного свойства не переопределяя при этом свойство?


_FR>>Зачем?

А>Да вот таки дела:
А>Есть некая иерархия классов, которые серилизуются в XML и имеют атрибуты для сериализации и атрибуты для моего редактора свойств.
А>Как оказалось позже — ой напрасно я использовал наследование, т.к. при редактировании одного потомка для его пропертей вдруг понадобилось одно описание (лабелы на форме редактора), а при редактировании другого потомка совсем другие лабелы.
А>Теперь мне надо убирать из родителя проперти и переносить в потомки кучу дублирующегося кода. (((

То есть требуется "обмануть" редактор свойств? Это легко. Но не легче, ИМХО, переопределения свойств в наследнике. Чем не устраивает написание в наследнике нового свойства с тем же именем, то и в базе?:

class ItemA
{
  [DisplayName("MyLabel 1")]
  public string MyLabel { get; set; }
}

class ItemB : ItemA
{
  [DisplayName("MyLabel 2")]
  public new string MyLabel {
    [DebuggerStepThrough]
    get { return base.MyLabel; }
    set { base.MyLabel = value; }
  }
}

Help will always be given at Hogwarts to those who ask for it.
Re[4]: Атрибуты и наследование
От: Аноним  
Дата: 01.07.10 09:49
Оценка:
Здравствуйте, _FRED_, Вы писали:


_FR>То есть требуется "обмануть" редактор свойств? Это легко. Но не легче, ИМХО, переопределения свойств в наследнике. Чем не устраивает написание в наследнике нового свойства с тем же именем, то и в базе?:


Спасибо, я так и делаю.
Думал, что может какие то трюки имеются.
Re[5]: Атрибуты и наследование
От: _FRED_ Черногория
Дата: 01.07.10 12:07
Оценка:
Здравствуйте, Аноним, Вы писали:

_FR>>То есть требуется "обмануть" редактор свойств? Это легко. Но не легче, ИМХО, переопределения свойств в наследнике. Чем не устраивает написание в наследнике нового свойства с тем же именем, то и в базе?:


А>Спасибо, я так и делаю.

А>Думал, что может какие то трюки имеются.

Если я прав и "требуется "обмануть" редактор свойств", то трюки есть и, скорее всего, можно обойтись без изменения кода. Вот только зачем?
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.