/// <inheritdoc/> public override int GetHashCode() { var result = DeclarationName.GetHashCode(); int typeArgNameCount = TypeArgumentNames.Count; for (int i = 0; i < typeArgNameCount; i++) { result = (result << 1) ^ TypeArgumentNames[i].GetHashCode(); } return(result); }
/// <inheritdoc/> public override string ToString() { int typeArgNameCount = TypeArgumentNames.Count; if (typeArgNameCount == 0) { return(DeclarationName.ToString()); } var sb = new StringBuilder(DeclarationName.ToString()); sb.Append('<'); sb.Append(TypeArgumentNames[0]); for (int i = 1; i < typeArgNameCount; i++) { sb.Append(','); sb.Append(TypeArgumentNames[i].FullName); } sb.Append('>'); return(sb.ToString()); }
/// <inheritdoc/> public bool Equals(GenericName other) { return(DeclarationName.Equals(other.DeclarationName) && Enumerable.SequenceEqual <QualifiedName>( TypeArgumentNames, other.TypeArgumentNames)); }