我有两个构造函数,它们将值提供给只读字段.
public class Sample
{
public Sample(string theIntAsString)
{
int i = int.Parse(theIntAsString);
_intField = i;
}
public Sample(int theInt) => _intField = theInt;
public int IntProperty => _intField;
private readonly int _intField;
}
Run Code Online (Sandbox Code Playgroud)
一个构造函数直接接收值,另一个构造函数进行一些计算并获取值,然后设置字段.
现在这里是抓住:
有任何想法吗?
在什么情况下我应该在做:base()和:this() 构造函数调用以下我的构造函数的括号内(甚至在代码的其他地方).这些什么时候称为良好做法,什么时候强制执行?
我有这段代码:
public class Time2
{
private int hour;
private int minute;
private int second;
public Time2(int h = 0, int m = 0, int s = 0)
{
SetTime(h, m, s);
}
public Time2(Time2 time)
: this(time.hour, time.Minute, time.Second) { }
public void SetTime(int h, int m, int s)
{
Hour = h;
Minute = m;
Second = s;
}
Run Code Online (Sandbox Code Playgroud)
除了这部分,我理解了一切:
public Time2(Time2 time)
: this(time.hour, time.Minute, time.Second) { }
Run Code Online (Sandbox Code Playgroud)
你能告诉我这个构造函数是如何工作的吗?"this"关键字的风格和工作对我来说看起来很陌生.谢谢.