2013-03-26 14 views
44

Ich habe wirklich mit diesem Problem. Ich brauche einen generischen Listenparameter für meine Get-Methode, aber er muss optional sein. Ich habe gerade dies:ASP WebAPI generische Liste optional Parameter

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

leider zur Laufzeit bekomme ich den Fehler:

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

Wie hier eine generische Liste als optionalen Parameter bekommen?

Antwort

74

Wozu dient ein optionaler Parameter? List<T> ist ein Referenztyp und wenn der Client keinen Wert liefert, ist er einfach null:

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

Sie sind ein Genie! :) Funktioniert perfekt. –

+11

Nun, ich fühle mich dumm .. – Connell

+3

Meiner Erfahrung nach gibt es viele Fälle, in denen Sie optionale Parameter explizit auf null setzen müssen (http://stackoverflow.com/a/22397723/1454888). Das ist kontraintuitiv für mich, aber es funktioniert. Vielen Dank. –