public virtual IEntity[] GetMembers()
{
if (null == _members)
{
BindingFlags flags = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static;// | BindingFlags.FlattenHierarchy;
MemberInfo[] members = _type.GetMembers(flags);
Type[] nested = _type.GetNestedTypes();
_members = new IEntity[members.Length+nested.Length];
int i = 0;
for (i=0; i<members.Length; ++i)
{
_members[i] = _typeSystemServices.Map(members[i]);
}
for (int j=0; j<nested.Length; ++j)
{
_members[i++] = _typeSystemServices.Map(nested[j]);
}
}
return _members;
}