可以说我有以下内容:
public interface IFoo
{
void Foo();
}
public interface IBar
{
void Bar();
}
public class FooAndBar : IFoo, IBar
{
//valid implementation
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个类在构造函数中接受IFoo和IBar,但是也有一个无参数的构造函数.
public class Consumer
{
private IFoo foo;
private IBar bar;
public Consumer(IFoo foo, IBar bar)
{
this.foo = foo;
this.bar = bar;
}
public Consumer() : this(new FooAndBar(), new FooAndBar()) {}
}
Run Code Online (Sandbox Code Playgroud)
我想维护调用参数化版本的无参数构造函数之间的关系.但我想传入一个引用的对象,而不是"新"两个FooAndBar实例.无论如何还要保持构造函数之间的关系吗?
您可以创建一个临时私有构造函数,它将FooAndBar作为参数:
private Consumer(FooAndBar fooAndBar) : this(fooAndBar, fooAndBar) {}
public Consumer() : this(new FooAndBar()) {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |