protected internal virtual string FormatGenericInstanceType(string format, GenericInstanceTypeName name, IFormatProvider formatProvider) { if (name == null) { throw new ArgumentNullException("name"); } var options = GetFormatHelper(formatProvider); switch (GetBasicFormat(format)) { case BasicFormat.Compact: case BasicFormat.Name: if (!options.IncludeTypeParameters) { return(name.Name); } var withoutMangle = Regex.Replace(name.ElementType.Name, @"`\d", string.Empty); StringBuilder sb = new StringBuilder(withoutMangle); options.PrintGenericArgs(sb, name.GenericArguments); return(sb.ToString()); case BasicFormat.Full: case BasicFormat.Roundtrip: default: return(FullNameFormat.FormatGenericInstanceType(null, name, GetFormatHelper(formatProvider))); } }
public override bool Matches(TypeName name) { if (name == null) { throw new ArgumentNullException("name"); } if (name.IsGenericType && !name.IsGenericTypeDefinition) { GenericInstanceTypeName other = name as GenericInstanceTypeName; return(this.Name == other.Name && this.NamespaceName.Matches(name.NamespaceName) && TypeName.MatchGenericArguments(this.GenericArguments, other.GenericArguments)); } return(false); }
protected internal override string FormatGenericInstanceType(string format, GenericInstanceTypeName name, IFormatProvider formatProvider) { string nameWithoutMangle = Regex.Replace(name.ElementType.FullName, @"`\d", string.Empty); MetadataNameFormat options = this.GetFormatHelper(formatProvider); StringBuilder sb = new StringBuilder(nameWithoutMangle); options.PrintGenericArgs(sb, name.GenericArguments); return(sb.ToString()); }