2
私はオブジェクトとしてプロパティを持つクラスを持っています。例えば:私は人間クラスをリセットしたい場合は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;}
}
、私はこの書き込み:プロパティの場合
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(Humans);
foreach (PropertyDescriptor pr in props)
{
if (pr.Attributes.OfType<DefaultValueAttribute>().Any())
{
pr.ResetValue(obj);
}
}
を、すべてのものは、人と何も起こらない性質のために完璧にSityを発生します。では、これらのプロパティのデフォルト値にリセットする方法はありますか?
実際、リセットメソッドの値を使用したいのは、1つのクラスだけではないということです。したがって、各クラスでReset {membername}メソッドを追加する必要がありますか? – Nasay