public override int GetHashCode() { if (UnderlyingType != null) { return(UnderlyingType.GetHashCode()); } int x = Name.GetHashCode() << 7 + PreferredXamlNamespace.GetHashCode(); if (TypeArguments != null) { foreach (var t in TypeArguments) { x = t.GetHashCode() + x << 5; } } return(x); }
public override int GetHashCode() { if (IsAttachable || string.IsNullOrEmpty(PreferredXamlNamespace)) { if (DeclaringType == null) { return(Name.GetHashCode()); } else { return(DeclaringType.UnderlyingType.FullName.GetHashCode() ^ Name.GetHashCode()); } } else { return(PreferredXamlNamespace.GetHashCode() ^ DeclaringType.Name.GetHashCode() ^ Name.GetHashCode()); } }