public static TInterface CreateInterfaceProxy <TInterface>(this ProxyGenerator proxyGenerator) => (TInterface)proxyGenerator.CreateInterfaceProxy(typeof(TInterface));
public static TClass CreateClassProxy <TClass>(this ProxyGenerator proxyGenerator) where TClass : class => (TClass)proxyGenerator.CreateClassProxy(typeof(TClass));
public static TClass CreateClassProxy <TClass, TImplement>(this ProxyGenerator proxyGenerator) where TImplement : TClass => (TClass)proxyGenerator.CreateClassProxy(typeof(TClass), typeof(TImplement));
public static TInterface CreateInterfaceProxy <TInterface, TImplement>(this ProxyGenerator proxyGenerator) where TImplement : TInterface => (TInterface)proxyGenerator.CreateInterfaceProxy(typeof(TInterface), typeof(TImplement));