Hallo zusammen,
ich habe aktuell folgenden Code:
xlWs.Cells[1, column] = st.GetA(2011);
xlWs.Cells[2, column] = st.GetA(2010);
xlWs.Cells[3, column] = st.GetA(2009);
xlWs.Cells[4, column] = st.GetA(2008);
xlWs.Cells[5, column] = st.GetA(2012);
xlWs.Cells[6, column] = st.GetZB(2011);
xlWs.Cells[7, column] = st.GetZB(2010);
xlWs.Cells[8, column] = st.GetZB(2009);
xlWs.Cells[9, column] = st.GetZB(2008);
xlWs.Cells[10, column] = st.GetZB(2012);
Ich rufe eine Methode mit einem Parameter auf und schreibe das Ergebnis in eine Excel Zelle. Wie man sieht rufe ich fünf mal die selbe Methode auf. Ich möchte das optimieren. Ich hätte gerne eine Methode, die folgendermaßen aussehen könnte:
void InserValues(Excel.Range, yearMin, yearMax, FUNCTION)
In FUNCTION möchte ich die Methode übergeben die in der Methode "InsertValues" aufgerufen werden soll. Sodass mein Code dann so aussehen würde:
InserValues(rng, 2008, 2012, st.GetA)
InserValues(rng, 2008, 2012, st.GetZB)
Ich möchte den Methodennamen den ich aufrufen möchte als Parameter übergeben. Wie kann ich das realisieren?
Ich bin mir nicht sicher ob es ein solches Sprachkonstrukt gibt. Habt ihr eine Idee wie man sowas geschickt umsetzen könnte?
Beste Grüße
PureTrader86
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Ob du nun den Func-Delegat oder einen selbst definierten Delegaten-Typ verwendest. Delegaten sollten in jedem guten C# Buch beschrieben sein und fallen daher zu den Grundlagen, die wir voraussetzen, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1.