Я установил одно из своих свойств в базовом классе, чтобы иметь защищенный установщик.это работает нормально, и я могу установить свойство в конструкторе производного класса - однако при попытке установить это свойство с помощью PropertyDescriptorCollection оно не будет установлено, однако использование коллекции работает со всеми другими свойствами.* Я должен отметить, что когда я удаляю модификатор защищенного доступа, все работает нормально ... но, конечно, теперь он не защищен.спасибо за любой вклад.
class base_a
{
public string ID { get; protected set; }
public virtual void SetProperties(string xml){}
}
class derived_a : base_a
{
public derived_a()
{
//this works fine
ID = "abc"
}
public override void SetProperties(string xml)
{
PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(this);
//this does not work...no value set.
pdc["ID"].SetValue(this, "abc");
}
}