支持传递给 C# 函数的可选数据的最佳方式是什么?
我在 .Net 中有 Web 服务功能,它定义了 5 个参数:
[WebMethod]
public string UploadFile( string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName
, MetaData[] metaDataArray)
这个函数的代码不是太长(但也不是微不足道的),如果有任何 MetaData[] 需要处理,我在函数中只有一个地方执行这个测试:
if (metaDataArray.Length > 0)
{
Update update = BuildMetaData(metaDataArray);
treq2.Items = new Operation[] { sru, cin, update, fetch};
}
else
{
treq2.Items = new Operation[] { sru, cin, fetch};
}
我需要上面的一个快速而肮脏的版本,它只需要 4 个参数(即没有“元数据”数组作为最终参数),所以我克隆了整个函数并删除了引用元数据的 IF-ELSE 块。丑我知道。
[WebMethod]
public string UploadFileBasic( string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName)
现在我想把事情做得更好,我正在寻找支持这一点的最佳方式的建议。我不想通过创建一个空数组作为第 5 个参数来增加客户端程序的负担……我想让我的 Web 服务函数足够智能以处理这些可选数据。谢谢。