protected override MethodDefinition[] GetMethods() { var definitions = new List <MethodDefinition>(); var methods = InterceptableMemberHelper.GetMethods(Type).Where(m => MemberSelector.IncludeMethod(m)); // virtual foreach (var method in methods) { definitions.Add(new MethodDefinition(this, method)); } // mixins foreach (var mxinDefinition in MixinDefinitions) { foreach (var methodDefinition in mxinDefinition.MethodDefinitions) { if (MethodFinder.FindMethod(methods, methodDefinition.Method) == null) { definitions.Add(methodDefinition); } } } return(definitions.ToArray()); }