public static ProxyCreator CreateComplexProxy(this ProxyHelper proxyHelper, Type type, INameTransfer nameTransfer, INamedCreator namedCreator, Visitors.IPropertyVisitor propertyVisitor) { if (proxyHelper is null) { throw new ArgumentNullException(nameof(proxyHelper)); } if (type is null) { throw new ArgumentNullException(nameof(type)); } if (nameTransfer is null) { throw new ArgumentNullException(nameof(nameTransfer)); } if (namedCreator is null) { throw new ArgumentNullException(nameof(namedCreator)); } if (propertyVisitor is null) { throw new ArgumentNullException(nameof(propertyVisitor)); } var creator = new ProxyCreator(proxyHelper, type, nameTransfer, namedCreator, propertyVisitor); creator.Analysis(); return(creator); }
public static ProxyCreator CreateComplexProxy <T>(this ProxyHelper proxyHelper, INameTransfer nameTransfer, INamedCreator namedCreator, Visitors.IPropertyVisitor propertyVisitor) where T : class { return(CreateComplexProxy(proxyHelper, typeof(T), nameTransfer, namedCreator, propertyVisitor)); }