VS2005中的C#:如果一个类有两个构造函数,那么这些构造函数分享一些代码的最佳方法是什么?
例如.我怎么能避免在以下两个构造函数中使用x = 5和y = 10行:
public class MyObject {
int x;
int y;
int z;
public MyObject() {
x = 5;
y = 10;
}
public MyObject(int setZ) {
x = 5;
y = 10;
z = setZ;
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*Rob 63
只是链接到常见的构造函数...
public MyObject(int setZ)
: this()
{
z = setZ;
}
Run Code Online (Sandbox Code Playgroud)
使用this()语法.
public MyObject(int setZ) : this() {
z = setZ;
}
Run Code Online (Sandbox Code Playgroud)
创建另一种方法:
private setDefaultNumbers() {
x = 5;
y = 10;
}
Run Code Online (Sandbox Code Playgroud)
然后让两个版本的构造函数调用此方法:
public MyObject() {
setDefaultNumbers();
}
public MyObject(int setZ) {
setDefaultNumbers();
z = setZ;
}
Run Code Online (Sandbox Code Playgroud)