オブジェクトのすべてのプロパティを調べ、値が t 型の辞書であるプロパティに対して何らかの処理を行うジェネリック型 T を持つ拡張メソッドを作成する必要があります。
public static T DoDictionaries<T,t>(T source, Func<t,t> cleanUpper)
{
Type objectType = typeof(T);
List<PropertyInfo> properties = objectType.GetProperties().ToList();
properties.Each(prop=>
{
if (typeof(Dictionary<????, t>).IsAssignableFrom(prop.PropertyType))
{
Dictionary<????, t> newDictionary = dictionary
.ToDictionary(kvp => kvp.Key, kvp => cleanUpper(dictionary[kvp.Key]));
prop.SetValue(source, newDictionary);
}
});
return source;
}
1 つのオブジェクトにさまざまなキーの型を持つ多くの辞書が存在する可能性があるため、辞書のキーの型に別のジェネリック型 ``k'' を使用することはできません。明らかに、上記のコードの代わりに別のことを行う必要があります。これを行う方法がわかりません。ありがとう