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

IProxyBuilder

public interface IProxyBuilder
Abstracts the implementation of proxy type construction.
using Castle.Core.Logging; using System; using System.Runtime.CompilerServices; namespace Castle.DynamicProxy { [System.Runtime.CompilerServices.NullableContext(1)] public interface IProxyBuilder { ILogger Logger { get; set; } ModuleScope ModuleScope { get; } Type CreateClassProxyType(Type classToProxy, [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 1 })] Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateClassProxyTypeWithTarget(Type classToProxy, [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 1 })] Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithTarget(Type interfaceToProxy, [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 1 })] Type[] additionalInterfacesToProxy, Type targetType, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithTargetInterface(Type interfaceToProxy, [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 1 })] Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); Type CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, [System.Runtime.CompilerServices.Nullable(new byte[] { 2, 1 })] Type[] additionalInterfacesToProxy, ProxyGenerationOptions options); } }