Laden...

Methode/Methodennamen per Parameter an eine andere Methode übergeben

Erstellt von PureTrader86 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.312 Views
Thema geschlossen
P
PureTrader86 Themenstarter:in
1 Beiträge seit 2013
vor 10 Jahren
Methode/Methodennamen per Parameter an eine andere Methode übergeben

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

5.941 Beiträge seit 2005
vor 10 Jahren

Hallo

Schau dir mal den vordefinierten Delegate Func<T> an.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

Hinweis von herbivore vor 10 Jahren

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.

Thema geschlossen