У меня есть класс со свойствами как объектами классов. Например:Как сбросить значения по умолчанию для свойств компонента в PropertyGrid?
public Class Humans
{
public Person Human {get; set;}
[DefaulValue("New York")]
public string Sity {get; set;}
}
public struct Person
{
[DefaulValue("Name")]
public string Name {get; set;}
[DefaulValue("Surname")]
public string Surname {get; set;}
}
Если я хочу, чтобы сбросить класс Humans, я пишу это:
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(Humans);
foreach (PropertyDescriptor pr in props)
{
if (pr.Attributes.OfType<DefaultValueAttribute>().Any())
{
pr.ResetValue(obj);
}
}
В случае собственности, все происходит совершенно Sity, и свойства человеческого ничего не происходит. Итак, как сбросить значения по умолчанию этих свойств?
Дело в том, что я хочу использовать значения метода сброса не только для одного класса. Следовательно, в каждом классе необходимо добавить метод Reset {membername}? – Nasay