public override int GetHashCode() { // ensure initialization before accessing MixinData Initialize(); var result = Hook != null?Hook.GetType().GetHashCode() : 0; result = 29 * result + (Selector != null ? 1 : 0); result = 29 * result + MixinData.GetHashCode(); result = 29 * result + (BaseTypeForInterfaceProxy != null ? BaseTypeForInterfaceProxy.GetHashCode() : 0); result = 29 * result + CollectionExtensions.GetContentsHashCode(AdditionalAttributes); return(result); }
public override bool Equals(object obj) { if (ReferenceEquals(this, obj)) { return(true); } var proxyGenerationOptions = obj as ProxyGenerationOptions; if (ReferenceEquals(proxyGenerationOptions, null)) { return(false); } // ensure initialization before accessing MixinData Initialize(); proxyGenerationOptions.Initialize(); if (!Equals(Hook, proxyGenerationOptions.Hook)) { return(false); } if (!Equals(Selector == null, proxyGenerationOptions.Selector == null)) { return(false); } if (!Equals(MixinData, proxyGenerationOptions.MixinData)) { return(false); } if (!Equals(BaseTypeForInterfaceProxy, proxyGenerationOptions.BaseTypeForInterfaceProxy)) { return(false); } if (!CollectionExtensions.AreEquivalent(AdditionalAttributes, proxyGenerationOptions.AdditionalAttributes)) { return(false); } return(true); }