private FieldSetting CreateNewFieldType(FieldDescriptor fieldInfo, Dictionary<string, List<string>> newBindings, ContentListType listType, SlotTable slotTable, SchemaEditor editor)
{
List<string> bindList = new List<string>();
foreach (RepositoryDataType slotType in FieldManager.GetDataTypes(fieldInfo.FieldTypeShortName))
{
if (slotType == RepositoryDataType.NotDefined)
continue;
int slotNumber = slotTable.ReserveSlot((DataType)slotType);
string binding = EncodeBinding(slotType, slotNumber);
bindList.Add(binding);
PropertyType pt = editor.PropertyTypes[binding];
if (pt == null)
pt = editor.CreateContentListPropertyType((DataType)slotType, slotNumber);
editor.AddPropertyTypeToPropertySet(pt, listType);
}
newBindings.Add(fieldInfo.FieldName, bindList);
return FieldSetting.Create(fieldInfo, bindList);
}
private bool RemoveUnusedFields(Dictionary<string, FieldDescriptor> fieldInfoList, Dictionary<string, List<string>> oldBindings, ContentListType listType, SchemaEditor editor)