public Dependency(SubDependency sub) { Sub = sub; }
public Foo(SubDependency sub, Dependency dep) { Sub = sub; Dep = dep; }
public Foo(SubDependency sub, Dependency dep) { }
public Dependency(SubDependency sub) { }
Foo Create() { var sub = new SubDependency(); return(new Foo(sub, new Dependency(sub))); }