Я не уверен, что то, что я хочу сделать, возможно, но я решил, что спрошу.Как изменить значение атрибута DefaultValue в подклассе
У меня есть абстрактный базовый класс, который имеет свойство, которое украшено с атрибутом DefaultValue
, например, так:
public abstract MyBaseClass {
[DefaultValue("some value")]
public string StringProperty {
get { return iStringProperty; }
set { iStringProperty = value;
}
protected string iStringProperty = "some value";
// Other code here
}
Я хочу, чтобы получить класс ребенка от MyBaseClass
, но я хочу, значение атрибута DefaultValue
, а также значение по умолчанию для свойства, должны быть разными. С этой целью я добавил конструктор по умолчанию для дочернего класса, а именно:
public class MyChildClass : MyBaseClass {
// Type specific properties & fields here
public MyChildClass()
: base() {
iStringProperty = "new value";
}
// Other code here
}
Как изменить значение атрибута DefaultValue
в производном классе, так что это «новое значение»?
Вы не можете изменить значение атрибута во время выполнения, поэтому то, что вы пытаетесь, невозможно. – Hammerstein
Это не нужно делать во время выполнения. –