public string GetMostSimilarMemberName(INamespace ns, string name, EntityType elementType) { if (null == ns) { return(null); } string expectedSoundex = StringUtilities.GetSoundex(name); string lastMemberName = null; foreach (IEntity member in ns.GetMembers()) { if (EntityType.Any != elementType && elementType != member.EntityType) { continue; } if (lastMemberName == member.Name) { continue; //no need to check this name again } //TODO: try Levenshtein distance or Metaphone instead of Soundex. if (expectedSoundex == StringUtilities.GetSoundex(member.Name)) { //return properties without get_/set_ prefix IMethod method = member as IMethod; if (null != method && method.IsSpecialName) { return(member.Name.Substring(4)); } return(member.Name); } lastMemberName = member.Name; } return(null); }
private static void CollectAllMembers(List<IEntity> members, INamespace entity) { var type = entity as IType; if (null != type) { members.ExtendUnique(type.GetMembers()); CollectBaseTypeMembers(members, type.BaseType); } else { members.Extend(entity.GetMembers()); } }
private static void FlattenChildNamespaces(ICollection <INamespace> resultingList, INamespace ns) { foreach (IEntity ent in ns.GetMembers()) { if (EntityType.Namespace != ent.EntityType) { continue; } INamespace nsEnt = (INamespace)ent; resultingList.Add(nsEnt); FlattenChildNamespaces(resultingList, nsEnt); } }
private static void CollectAllMembers(List <IEntity> members, INamespace entity) { var type = entity as IType; if (null != type) { members.ExtendUnique(type.GetMembers()); CollectBaseTypeMembers(members, type.BaseType); } else { members.Extend(entity.GetMembers()); } }
private static void GetAllMembers(List members, INamespace entity) { if (null == entity) { return; } IType type = entity as IType; if (null != type) { members.ExtendUnique(type.GetMembers()); GetAllMembers(members, type.BaseType); } else { members.Extend(entity.GetMembers()); } }
public override IEnumerable <IEntity> GetMembers() { return(_namespace.GetMembers()); }
private static void GetAllMembers(List members, INamespace entity) { if (null == entity) return; IType type = entity as IType; if (null != type) { members.ExtendUnique(type.GetMembers()); GetAllMembers(members, type.BaseType); } else { members.Extend(entity.GetMembers()); } }
private static void FlattenChildNamespaces(List<INamespace> list, INamespace ns) { foreach (IEntity ent in ns.GetMembers()) { if (EntityType.Namespace != ent.EntityType) continue; list.Add((INamespace) ent); FlattenChildNamespaces(list, (INamespace) ent); } }
public string GetMostSimilarMemberName(INamespace ns, string name, EntityType elementType) { if (null == ns) return null; string expectedSoundex = ToSoundex(name); string lastMemberName = null; foreach (IEntity member in ns.GetMembers()) { if (EntityType.Any != elementType && elementType != member.EntityType) continue; if (lastMemberName == member.Name) continue;//no need to check this name again //TODO: try Levenshtein distance or Metaphone instead of Soundex. if (expectedSoundex == ToSoundex(member.Name)) { return member.Name; } lastMemberName = member.Name; } return null; }
public IEntity[] GetMembers() { return(_moduleClassNamespace.GetMembers()); }