private string GetMetaName(IEntity member) { string name = null; if (TransformCtx.GetEntityName != null) { name = TransformCtx.GetEntityName(member); } if (name == null) { switch (member.SymbolKind) { case SymbolKind.Property: { name = XmlMetaMaker.GetPropertyName((IProperty)member); break; } case SymbolKind.Method: { name = XmlMetaMaker.GetMethodName((IMethod)member); break; } } } if (name != null) { if (Helpers.IsReservedWord(name)) { throw new System.Exception("GetMetaName[{0}, {1}, {2}] IsReservedWord".F(name, member.Name, member.DeclaringType.FullName)); } } return(name); }
public virtual string GetEntityName(IEntity member, bool forcePreserveMemberCase = false, bool ignoreInterface = false) { if (TransformCtx.GetEntityName != null) { string entityName = TransformCtx.GetEntityName(member); if (!string.IsNullOrEmpty(entityName)) { if (Helpers.IsReservedWord(entityName)) { throw new System.Exception("entityName[{0}, {1}, {2}] from TransformCtx.GetEntityName IsReservedWord".F(entityName, member.Name, member.DeclaringType.FullName)); } return(entityName); } } bool preserveMemberChange = !this.IsNativeMember(member.FullName) ? this.AssemblyInfo.PreserveMemberCase : false; if (member is IMember && this.IsMemberConst((IMember)member) /* || member.DeclaringType.Kind == TypeKind.Anonymous*/) { preserveMemberChange = true; } var attr = Helpers.GetInheritedAttribute(member, Bridge.Translator.Translator.Bridge_ASSEMBLY + ".NameAttribute"); bool isIgnore = member.DeclaringTypeDefinition != null && this.Validator.IsIgnoreType(member.DeclaringTypeDefinition); string name = member.Name; if (member is IMethod && ((IMethod)member).IsConstructor) { name = "constructor"; } if (attr != null) { var value = attr.PositionalArguments.First().ConstantValue; if (value is string) { name = value.ToString(); FixBridgePrefix(ref name); if (!isIgnore && ((member.IsStatic && Emitter.IsReservedStaticName(name)) || Helpers.IsReservedWord(name))) { name = Helpers.ChangeReservedWord(name); } return(name); } preserveMemberChange = !(bool)value; } name = !preserveMemberChange && !forcePreserveMemberCase?Object.Net.Utilities.StringUtils.ToLowerCamelCase(name) : name; if (!isIgnore && ((member.IsStatic && Emitter.IsReservedStaticName(name)) || Helpers.IsReservedWord(name))) { name = Helpers.ChangeReservedWord(name); } return(name); }