private void CheckInterfacePeoperty(ITypeInfo type, DefaultResolvedProperty property) { if (!type.InstanceProperties.ContainsKey(property.Name)) { foreach (IType baseClass in type.Type.GetAllBaseTypes()) { if (baseClass.Kind == TypeKind.Class) { BridgeType baseBridgeType = BridgeTypes.Get(baseClass); ITypeInfo baseTypeInfo = baseBridgeType.TypeInfo; if (baseTypeInfo != null) { if (baseTypeInfo.InstanceProperties.ContainsKey(property.Name)) { var instanceConfig = baseTypeInfo.InstanceConfig; int fieldIndex = instanceConfig.Fields.FindIndex(i => i.Name == property.Name); if (fieldIndex != -1) { if (!instanceConfig.Properties.Exists(i => i.Name == property.Name)) { TypeConfigItem item = instanceConfig.Fields[fieldIndex]; instanceConfig.Properties.Add(item); instanceConfig.Fields.RemoveAt(fieldIndex); TypeDefinition typeDefinition = baseBridgeType.TypeDefinition; PropertyDefinition propertyDefinition = typeDefinition.Properties.First(i => i.Name == property.Name); Helpers.SetCacheOfAutoPropertyOfDefinition(propertyDefinition); } } } } } } } }
private string GetTypeName(DefaultResolvedProperty field) { return(field.GetTypeName(usedNamespaces)); }