gpt4 book ai didi

c# - 如何在类内部调用构造函数?

转载 作者:可可西里 更新时间:2023-11-01 08:52:01 24 4
gpt4 key购买 nike

我想在类中调用构造函数,例如: 公共(public)类 Myclass(){

   public MyClass(){
//......
}

public MyClass(int id):this(){
//......
}

private void Reset(){
//.....
this = new MyClass(id); //here I want to call constructor
//......
}
}

但它不起作用。这可能吗?如果可以,我该怎么做?

最佳答案

简单的回答:你不能。

稍微复杂一点的答案:将您的初始化逻辑移动到一个单独的方法中,该方法可以从构造函数和您的 Reset() 方法中调用:

public class MyClass
{
public int? Id { get; }

public MyClass()
{
Initialize();
}

public MyClass(int id)
{
Initialize(id);
}

public Reset()
{
Initialize();
}

private Initialize(int? id = null)
{
// initialize values here instead of the constructor
Id = id;
}
}

关于c# - 如何在类内部调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com