支持传递给C#函数的可选数据的最佳方式是什么?为C#webmethod提供可选参数的最佳方法
我在.NET Web服务功能,定义了5个参数:
[WebMethod]
public string UploadFile(string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName
, MetaData[] metaDataArray)
这个函数的代码是不是太长(但不平凡的任一),而且只有一个地方的功能,其中我进行该测试是否有任何元数据[]待处理:
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个参数(即,没有“元数据”阵列作为最后一个参数)的一个快速和肮脏的版本,所以我克隆了整个函数,并删除了引用met的IF-ELSE块ADATA。丑陋的我知道。
[WebMethod]
public string UploadFileBasic(string wsURL
, byte[] incomingArray
, string FileName
, string RecordTypeName)
现在我想做的事情更好,我正在寻找建议,以支持这一点的最佳方式。我不想让客户端程序创建一个空数组作为第5个参数......我希望我的Web服务功能足够聪明,可以处理这些可选数据。谢谢。
+1,因为尽管事实上我的回答非常适合他现有的代码,但这是我在自己的代码中使用的方法。 – 2009-07-20 20:44:32