public override int GetHashCode() { unchecked { int result = (NameAndNamespace != null ? NameAndNamespace.GetHashCode() : 0); result = (result * 397) ^ (AssemblyName != null ? AssemblyName.GetHashCode() : 0); return(result); } }
private TypeName(string name, string assemblyName, int array, IEnumerable <Maybe <TypeName> > genericArguments) { new { name, assemblyName, genericArguments }.CheckNotNull(); this.rawName = name; NameAndNamespace = WithArray(name, array); Namespace = NameAndNamespace.Substring(0, Math.Max(NameAndNamespace.LastIndexOf('.'), 0)); Name = WithArray(name, array).Split('.', '+').Last(); AssemblyName = assemblyName; this.OrderOfArray = array; GenericArguments = genericArguments; FullName = BuildFullName(); }