有一个如下方法,我想在使用它时简化传递参数:
public virtual Segment AddDataElement(string[] dataElement)
{
dataElementList.Add(dataElement);
return this;
}
这种方法被多次调用:
message.AddSegment("NAD")
.AddDataElement(new string[] { partyFunctionCodeQualifier })
.AddDataElement(new string[] { partyIdentifier, "", "92" });
是否可以修改方法定义,以便可以编写更具可读性调用lile?
message.AddSegment("NAD")
.AddDataElement(partyFunctionCodeQualifier)
.AddDataElement(partyIdentifier, "", "92");
后者可以在内部转换为更早的形式吗?
答案 0 :(得分:9)
是的,你绝对可以这样做。
首先,您可以使用隐式数组输入将new string[]
缩减为new[]
:
.AddDataElement(new[] { partyFunctionCodeQualifier })
其次,您可以使用params
关键字将参数更改为参数数组:
public virtual Segment AddDataElement(params string[] dataElement)
此时,您确实可以指定一个字符串 - 或多个字符串,而无需在源代码中构建数组。编译器将为您创建数组。