Ich möchte Erweiterungsmethoden für den dynamischen Typ erstellen, aber aus dem einen oder anderen Grund bekomme ich Fehler beim Kompilieren des Codes. unten ist mein Codebeispiel Die Methode, die ich benutze istSo erstellen Sie MVC-Erweiterungsmethode für den dynamischen Typ
public List<State> getStates()
{
return new List<State>(){
new State{StateID="1",StateName="Tamil Nadu"},
new State{StateID="2",StateName="Assam"},
new State{StateID="3",StateName="Andra"},
new State{StateID="4",StateName="bihar"},
new State{StateID="5",StateName="Bengal"},
};
}
und meine Erweiterungsmethode ist
public static class helper
{
public static IEnumerable<SelectListItem> getIntoDropDownState(this List<dynamic> data,string textField,string valueField)
{
return data.Select(x => new SelectListItem
{
Text = x.textField,
Value = x.valueField
});
}
}
Mein Übersetzungsfehler, die ich bekommen ist
Compiler-Fehlermeldung: CS1928 : 'System.Collections.Generic.List' enthält keine Definition für 'getIntoDropDownState' und die beste Erweiterung erfüllt hod Überlastung ‚LearnAuthentication.Controllers.helper.getIntoDropDownState (System.Collections.Generic.List, string, string)‘ hat einige ungültige Argumente
Ich möchte die Erweiterung Methode wie folgt verwenden, und ich bin vor Fehler
@Html.DropDownListFor(x => x.StateID, new LearnAuthentication.Controllers.Address().getStates().getIntoDropDownState("StateName", "StateID"), "Select State", 0)
kann jeder
für mich Dieser Code kompiliert . Welchen Fehler bekommst du? –
@ stephen.vakil Hallo, ich habe den Fehler aktualisiert, bitte schauen Sie. Vielen Dank –
@ LijinJohn, Diese Erweiterungsmethode wird nicht tun, was Sie beschreiben. Sie könnten Reflexion und Generika verwenden – Nkosi