<PackageReference Include="Castle.Core" Version="3.0.0.2001" />

InheritanceInvocation

public abstract class InheritanceInvocation : AbstractInvocation
using System; using System.Reflection; namespace Castle.DynamicProxy.Internal { public abstract class InheritanceInvocation : AbstractInvocation { private readonly Type targetType; public override object InvocationTarget => base.Proxy; public override MethodInfo MethodInvocationTarget => InvocationHelper.GetMethodOnType(targetType, base.Method); public override Type TargetType => targetType; protected InheritanceInvocation(Type targetType, object proxy, IInterceptor[] interceptors, MethodInfo proxiedMethod, object[] arguments) : base(proxy, interceptors, proxiedMethod, arguments) { this.targetType = targetType; } protected InheritanceInvocation(Type targetType, object proxy, IInterceptor[] interceptors, MethodInfo proxiedMethod, object[] arguments, IInterceptorSelector selector, ref IInterceptor[] methodInterceptors) : base(proxy, targetType, interceptors, proxiedMethod, arguments, selector, ref methodInterceptors) { this.targetType = targetType; } protected abstract override void InvokeMethodOnTarget(); } }