예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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());
        }
예제 #3
0
 /// <inheritdoc/>
 public bool Equals(GenericName other)
 {
     return(DeclarationName.Equals(other.DeclarationName) &&
            Enumerable.SequenceEqual <QualifiedName>(
                TypeArgumentNames, other.TypeArgumentNames));
 }