public virtual IEnumerable<string> GetDeclaredMemberNames( object target )
{
Type type = target.GetType();
const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
IEnumerable<string> names = type.GetMembers( flags ).Select( member => member.Name );
return names;
}