gpt4 book ai didi

c# - 你能根据传递的参数构造一个不同的派生类吗?

转载 作者:行者123 更新时间:2023-11-30 19:10:52 25 4
gpt4 key购买 nike

我想知道这样的事情是否可能......

class Thing
{
public Thing(int i)
{
}
}

class DerivedThing : Thing
{
public DerivedThing(int i)
{
}
}

_thing = new Thing(0)

_derivedthing = new Thing(1)

如果你传递 0,你得到一个 Thing,如果你传递 1,你得到一个 DerivedThing这并不完整,只是一个例子。但基本上我想知道是否/如何根据传递给基类构造函数的参数值返回不同的派生类?或者您是否只需要另一段代码来决定调用哪个构造函数?

最佳答案

回答你的问题:不,这是不可能的。但是……

您实际上是在寻找Factory 模式。您可以轻松地在工厂方法中添加一个可区分的 if/case,并且仍然拥有相对干净的代码。

Factory pattern description

关于c# - 你能根据传递的参数构造一个不同的派生类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14857319/

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