in src/main/csharp/Util/IntrospectionSupport.cs [85:105]
public static StringDictionary CreateNameMap(Type type)
{
StringDictionary nameMap = new StringDictionary();
BindingFlags flags = BindingFlags.FlattenHierarchy
| BindingFlags.Public
| BindingFlags.Instance;
// Process public instance self or inherited property
foreach(PropertyInfo propertyInfo in type.GetProperties(flags))
{
AddToNameMap(nameMap, propertyInfo);
}
// Process public instance self or inherited fields
foreach(FieldInfo fieldInfo in type.GetFields(flags))
{
AddToNameMap(nameMap, fieldInfo);
}
return(nameMap);
}