gpt4 book ai didi

c# - 在发送到 Base 构造函数之前修改参数值

转载 作者:IT王子 更新时间:2023-10-29 04:10:45 26 4
gpt4 key购买 nike

标题可能有点含糊,但我想不出更好的表达方式。

我知道我不能在调用基础构造函数之前调用派生构造函数,但是我可以在将参数值传递给基础之前以某种方式修改/创建参数值吗?

例如,

public enum InputType
{
Number = 1,
String = 2,
Date = 3
}

public class BaseClass
{
public BaseClass(InputType t)
{
// Logic
}
}

public class DerivedClass : BaseClass
{
public DerivedClass(int i)
: base(value)
// Can I do something to infer what value should be here?
{
// Logic
}
}

如果我有一个派生类可以推断基本构造函数所需的值(在此示例中,InputType.Numberint 有效,)是有没有一种方法可以修改和/或创建在派生构造函数执行之前传递给基本构造函数的值?

最佳答案

我希望您可以在基类构造函数的参数列表中调用静态方法。

public class DerivedClass : BaseClass
{
public DerivedClass(int i)
: base(ChooseInputType(i))
{
}

private static InputType ChooseInputType(int i)
{
// Logic
return InputType.Number;
}
}

关于c# - 在发送到 Base 构造函数之前修改参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651444/

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