public class ClassName<T, P> where T : class, ISetup<T, P>, new() {
public T MethodName(P setupArg) {
var holder = new T();
return ISetup<T, P>.Setup(holder, setupArg);
}
}
public class ClassName<T, P> where T : class, ISetup<T, P>, new() {
public T MethodName(P setupArg) {
var holder = new T();
return ISetup<T, P>.Setup(holder, setupArg);
}
}