2013-03-26 61 views
44

我真的很苦惱這個。我需要一個通用的列表參數爲我的Get方法,但它需要是可選的。我只是做了這一點:ASP WebAPI泛型列表可選參數

public dynamic Get(List <long> ManufacturerIDs = null) 

不幸的是在運行時出現錯誤:

Optional parameter 'ManufacturerIDs' is not supported by 'FormatterParameterBinding'.

如何獲得一個泛型列表如下可選參數?

回答

74

使用可選參數有什麼意義? List<T>是一個參考類型,如果客戶端不提供值,它將簡單地爲空:

public HttpResponseMessage Get(List<long> manufacturerIDs) 
{ 
    ... 
} 
+1

您先生是天才! :)完美的作品。 – 2013-03-26 16:05:09

+11

現在我覺得很蠢...... – Connell 2014-01-23 14:48:49

+3

以我的經驗,有很多情況下你必須顯式地將可選參數設置爲null(http://stackoverflow.com/a/22397723/1454888)。這對我來說是違反直覺的,但它是有效的。謝謝。 – 2016-01-14 18:45:07