【发布时间】:2017-09-05 13:42:22
【问题描述】:
我有一个类,我用普通的public Class1(int arg1, int arg2, int arg3) { ... } 初始化它
这很简单。
但我想要实现的是,论点需要改变。
例如,如果将1 传递给arg1,则第二个和第三个参数不采用 Int,而是采用 float。
这可以在 C# .NET Core 中实现吗? 如果不是,那在 C# 中是否有可能? 怎么做?
【问题讨论】:
-
听起来您要问的是构造函数重载。您可以在对象上创建任意数量的不同构造函数。
-
这听起来很奇怪——为什么需要使类型依赖于第一个参数?为什么不直接创建不同的重载(并跳过第一个参数)?
-
不,这是不可能的。您可能想描述您想要实现的目标,我们或许可以通过其他方法为您提供帮助。
-
@David 我该怎么做?比如,基本语法是什么?
-
您所描述的内容需要 C# 不支持的依赖类型。你有一个为什么需要这样做的例子吗?