Ich habe eine Klasse mit Eigenschaften als Objekte mehr Klassen. Zum Beispiel:Wie können die Standardwerte für die Eigenschaften der Komponente im PropertyGrid zurückgesetzt werden?
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;}
}
Wenn ich will die Menschen Klasse zurücksetzen, schreibe ich diese:
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(Humans);
foreach (PropertyDescriptor pr in props)
{
if (pr.Attributes.OfType<DefaultValueAttribute>().Any())
{
pr.ResetValue(obj);
}
}
Im Fall von Sach geschieht alles perfekt Sity und Objekte Mensch nichts passiert. So, hier ist, wie auf die Standardwerte dieser Eigenschaften zurückgesetzt werden?
Tatsache ist, dass ich die Werte der Reset-Methode nicht nur für eine Klasse verwenden möchte. Daher ist es in jeder Klasse erforderlich, eine Methode Reset {Elementname} hinzuzufügen? – Nasay