static Type GetTypeForMember (MemberInfo mi) { if (mi is FieldInfo) return ((FieldInfo) mi).FieldType; else if (mi is PropertyInfo) return ((PropertyInfo) mi).PropertyType; return null; }