C# 使用 : this 初始化构造函数

标签 c#

为什么 this 不接受类类型的参数?我能读到什么?这是我无用的代码

using System;

public class Class1
{
  public int a = 5;
}

public class Class2
{
  private readonly int num;
  Class1 obj2 = new Class1();
  public Class2(Class1 obj)
  {
    num = obj.a;
  }
  public Class2(string l) : this (Class1 obj2)
  {

  }
}

最佳答案

您的构造函数采用 Class1 的实例,因此您应该使用:

public Class2(string l) : this (new Class1())
{
}

您可能还想将构造函数参数分配给您的 obj2 成员,而不是创建一个新成员:

public class Class2
{
    private readonly int num;
    Class1 obj2;
    public Class2(Class1 obj)
    {
        this.obj2 = obj;
        num = obj.a;
    }
    public Class2(string l) : this (new Class1()) { }
}

关于C# 使用 : this 初始化构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13759479/

相关文章:

c# - 向 IntelliSense 提供不应修改分部类的提示

c# - 在 Newtonsoft JSON 中转义引号

c# - 如何确定对象的类型是否实现了 IEnumerable<X>,其中 X 使用反射从 Base 派生

c# - 如何制作正则表达式从文本中删除字符串?

c# - 如何在 C# 中导航任何 JSON 树?

c# - 无法在方法调用中将字典转换为 IDictionary

c# - Entity Framework - 使用分离实体问题

c# - Ninject - 在 .Net MVC 3 中有条件地创建类

c# - 如何在自定义部分的 app.config 中获取智能感知?

c# - IndexOf 找不到列表中的最后一个元素