支持傳遞給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