public abstract class Foo
{
public abstract SomeType Prop { get; set; }
}
Есть генератор, создающий наследника для Foo. Хочется реализовать вот такую функциональность:
public abstract class Foo
{
[IntelligibleAttributeName(typeof(SomeAttribute), "foo", "bar", "otherarg")]
public abstract SomeType Prop { get; set; }
}
В результате чего будет создан класс вроде
public class NonAbstractFoo : Foo
{
private SomeType _prop;
[Some("foo", "bar", "otherarg")]
public SomeType Prop
{
get { return _prop; }
set { _prop = value; }
}
}
Внимание вопрос: как назвать этот атрибут? Должно быть сразу понятно, что этот атрибут будет применён в генерированном типе, а не по месту декларирования.
Здравствуйте, Блудов Павел, Вы писали:
БП>Внимание вопрос: как назвать этот атрибут? Должно быть сразу понятно, что этот атрибут будет применён в генерированном типе, а не по месту декларирования.
Ну так и назови GenerateAttributeAttribute. Типа:
[GenerateAttribute(typeof(DescriptionAttribute), "This is a Color property")]
public abstract Color Color { get;set;}
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Блудов Павел, Вы писали:
БП>Внимание вопрос: как назвать этот атрибут? Должно быть сразу понятно, что этот атрибут будет применён в генерированном типе, а не по месту декларирования.
Что-нибудь вроде ForwardAttribute, SubclassAttribute, ApplyInSubclass, ApplyToGenerated.
Здравствуйте, Sinclair, Вы писали:
S>Ну так и назови GenerateAttributeAttribute. Типа: S>
S>[GenerateAttribute(typeof(DescriptionAttribute), "This is a Color property")]
S>public abstract Color Color { get;set;}
S>
Лучше все таки Generated.
Да и контекст тоже бы неплохо. Практика показывает, что на предмет длинны имен классов уже больше никто не парицца — лишь бы понятнее было. И, надо сказать, что я эту тенденцию поддерживаю
Здравствуйте, B0rG, Вы писали: BG>Лучше все таки Generated.
Хм. Я полагал это как императивную конструкцию. Мне как-то непонятно, что такое "сгенеренный атрибут".
BG>Да и контекст тоже бы неплохо.
Контекст чего? BG> Практика показывает, что на предмет длинны имен классов уже больше никто не парицца — лишь бы понятнее было. И, надо сказать, что я эту тенденцию поддерживаю
Я тоже, но во всем нужна мера. Ведь не называют же атрибут TextToShowAtTheBottomOfThePropertyGridWhenThisPropertyIsSelected?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, B0rG, Вы писали: BG>>Лучше все таки Generated. S>Хм. Я полагал это как императивную конструкцию. Мне как-то непонятно, что такое "сгенеренный атрибут".
на мой взгляд атрибуты семантически ближе к прилагательным чем к глаголам.
BG>>Да и контекст тоже бы неплохо. S>Контекст чего?
это к аффтару. Контекст программы, что за ентить, что под этим скрывается.
BG>> Практика показывает, что на предмет длинны имен классов уже больше никто не парицца — лишь бы понятнее было. И, надо сказать, что я эту тенденцию поддерживаю S>Я тоже, но во всем нужна мера. Ведь не называют же атрибут TextToShowAtTheBottomOfThePropertyGridWhenThisPropertyIsSelected?
понятно же что "To", "At", "The", "Of", "When", "This" обычно опускаюстся, и брюки превращаются в
SelectedStatusPropertyText
Здравствуйте, B0rG, Вы писали: BG>на мой взгляд атрибуты семантически ближе к прилагательным чем к глаголам.
Вообще говоря да, но в данном случае мне ни существительное, ни прилагательное подобрать не удается.
BG>это к аффтару. Контекст программы, что за ентить, что под этим скрывается.
Там уже всё написано — есть генератор классов-потомков; см.тж. BLToolkit Project рядом.
BG>понятно же что "To", "At", "The", "Of", "When", "This" обычно опускаюстся, и брюки превращаются в BG>SelectedStatusPropertyText
Вообще=то брюки превращаются в Description.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.