【发布时间】:2020-07-08 22:59:44
【问题描述】:
我有以下课程
public class MyClass
{
public int ElementId {get; set;}
public int? LowerBoundary {get; set;}
public int? UpperBoundary {get; set;}
public int SpecificMethod() {}
public void CommonMethod()
{
int expectedValue = SpecificMethod();
}
}
CommonMethod() 对于此类的每个实例都是相同的,但我希望 SpecificMethod() 对于每个实例都不同。此方法应始终返回一个 int,但它可以采用 0、1 或 2 个参数(它们是它自己的 LowerBoundary 和 UpperBoundary 属性值)。
有没有办法做到这一点?由于参数的数量是可变的,我知道我不能将 SpecificMethod 设为 Func 属性。
【问题讨论】:
-
如果它们都是同一类型,您可以使用
params -
您的问题不清楚。如果
SpecificMethod()方法应该依赖于LowerBoundary和UpperBoundary属性的值,那为什么还需要将它们作为参数传递呢?为什么不让方法直接使用属性值?请修正您的问题,以便清楚您真正想要做什么。展示您认为可行的方法示例,说明您已经尝试过哪些尝试来实现该目标,以及具体而言您无法开展哪些工作。 -
这能回答你的问题吗? Function with variable number of arguments
标签: c# methods method-parameters