Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.GetCorrectMethod C# (CSharp) Method

GetCorrectMethod() protected method

From an interface method (abstract) look up for a matching method on the target
protected GetCorrectMethod ( MethodInfo method ) : MethodInfo
method System.Reflection.MethodInfo
return System.Reflection.MethodInfo
		protected override MethodInfo GetCorrectMethod(MethodInfo method)
		{
			if (Context.HasMixins && _interface2mixinIndex.Contains(method.DeclaringType))
			{
				return method;
			}

			ParameterInfo[] paramsInfo = method.GetParameters();
			Type[] argTypes = new Type[paramsInfo.Length];

			for(int i = 0; i < argTypes.Length; i++)
			{
				argTypes[i] = paramsInfo[i].ParameterType;
			}

			MethodInfo newMethod = _targetType.GetMethod(method.Name, argTypes);

			if (newMethod == null)
			{
				//System.Diagnostics.Trace.Write("Target class does not offer the method " + method.Name);
				newMethod = method;
			}

			return newMethod;
		}