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); return(result); }
public void Initialize() { if (mixinData == null) { try { mixinData = new MixinData(mixins); } catch (ArgumentException ex) { throw new InvalidMixinConfigurationException( "There is a problem with the mixins added to this ProxyGenerationOptions: " + ex.Message, ex); } } }
public void AddMixinInstance(object instance) { if (instance == null) { throw new ArgumentNullException("instance"); } if (mixins == null) { mixins = new List <object>(); } mixins.Add(instance); mixinData = null; }