public static void GetTypes() { string sAll = ""; List <XMLTypeInfo> aList = new List <XMLTypeInfo>(); foreach (var item in m_ExportClass) { XMLTypeInfo otypeinfo = new XMLTypeInfo(item); otypeinfo.stype = item.type.FullName.Replace(".", "::"); otypeinfo.sNameScpeace = item.type.Assembly.GetName().Name; otypeinfo.sBase = item.type.BaseType.FullName.Replace(".", "::"); otypeinfo.bIsRefType = (!item.type.IsValueType).ToString().ToLower(); otypeinfo.IsCustomized = true.ToString().ToLower(); otypeinfo.IsImplemented = true.ToString().ToLower(); otypeinfo.sDisplayName = item.type.Name; otypeinfo.sDesc = item.type.Name; aList.Add(otypeinfo); } foreach (var otypeinfo in aList) { ExportInfo oExportinfo = otypeinfo.exportinfo; foreach (var propertyname in oExportinfo.propertynamelist) { XMLMemberInfo oinfo = new XMLMemberInfo(); var property = oExportinfo.type.GetProperty(propertyname); oinfo.Name = property.Name; oinfo.DisplayName = property.Name; oinfo.Desc = property.Name; oinfo.Type = GetMemberTypeName(property.PropertyType); oinfo.TypeFullName = GetMemberFullTypeName(property.PropertyType); oinfo.Class = otypeinfo.stype; oinfo.Public = property.CanRead.ToString().ToLower(); otypeinfo.AddMemberInfo(oinfo); } foreach (var propertyname in oExportinfo.fieldnamelist) { XMLMemberInfo oinfo = new XMLMemberInfo(); var property = oExportinfo.type.GetField(propertyname); oinfo.Name = property.Name; oinfo.DisplayName = property.Name; oinfo.Desc = property.Name; oinfo.Type = GetMemberTypeName(property.FieldType); oinfo.TypeFullName = GetMemberFullTypeName(property.FieldType); oinfo.Class = otypeinfo.stype; oinfo.Public = property.IsPublic.ToString().ToLower(); otypeinfo.AddMemberInfo(oinfo); } sAll += otypeinfo.tostring(); } Debug.LogError(sAll); }
public void AddMemberInfo(XMLMemberInfo oinfo) { memberList.Add(oinfo); }