相关疑难解决方法(0)

从另一个调用一个构造函数

我有两个构造函数,它们将值提供给只读字段.

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)

一个构造函数直接接收值,另一个构造函数进行一些计算并获取值,然后设置字段.

现在这里是抓住:

  1. 我不想复制设置代码.在这种情况下,只设置一个字段,但当然可能不止一个.
  2. 要使字段只读,我需要从构造函数中设置它们,因此我无法将共享代码"提取"到实用程序函数中.
  3. 我不知道如何从另一个构建函数调用.

有任何想法吗?

c# constructor

927
推荐指数
8
解决办法
43万
查看次数

base()和this()构造函数的最佳实践

在什么情况下我应该在做:base():this() 构造函数调用以下我的构造函数的括号内(甚至在代码的其他地方).这些什么时候称为良好做法,什么时候强制执行?

c# oop inheritance constructor instantiation

80
推荐指数
5
解决办法
7万
查看次数

理解构造函数

我有这段代码:

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"关键字的风格和工作对我来说看起来很陌生.谢谢.

c# constructor

3
推荐指数
1
解决办法
113
查看次数

标签 统计

c# ×3

constructor ×3

inheritance ×1

instantiation ×1

oop ×1