public AddressObjectType(string fullName, string abbreviatedName, int level, GenderNoun genderType = GenderNoun.Uknown) { FullName = fullName; AbbreviatedName = abbreviatedName; GenderType = genderType; Level = level; }
/// <summary> /// хеширование /// </summary> /// <returns></returns> public override int GetHashCode() { var hashCode = 1881619974; hashCode = hashCode * -1521134295 + GenderNoun.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(PluralForm); hashCode = hashCode * -1521134295 + Transitive.GetHashCode(); hashCode = hashCode * -1521134295 + ConjugationType.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(AuxiliaryVerb); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Description); return(hashCode); }
/// <summary> /// Возвращает регулярное выражение всех аббревиатур типов обьекта по роду и уровню обьекта. /// </summary> /// <returns></returns> internal string GetRegexMultiPattern(int level, GenderNoun gender) { sb.Clear(); sb.Append("("); foreach (var obj in objectTypes) { if (obj.Value.Level == level && obj.Value.GenderType == gender) { if (sb.ToString() != "(") { sb.Append("|"); } sb.Append(obj.Value.AbbreviatedName); } } sb.Append(")"); return(sb.ToString()); }