Техника C # - получение постоянных значений по строке - PullRequest
3 голосов
/ 25 ноября 2008

Есть ли хороший способ конвертировать строки, такие как "xlSum", "xlAverage" и "xlCount", в значение, которое они имеют в Microsoft.Office.Interop.Excel.XlConsolidationFunction?

Я думаю, что отражение будет медленным (если это возможно). Существует около 10 таких постоянных значений. Я пытался избежать большого оператора switch, если это возможно.

Ответы [ 2 ]

5 голосов
/ 25 ноября 2008

Это перечисление, поэтому вы должны иметь возможность использовать

using Microsoft.Office.Interop.Excel;

XlConslidationFunction func = (XlConsolidationFunction)
                               Enum.Parse( typeof(XlConsolidationFunction),
                                           stringVal );
0 голосов
/ 25 ноября 2008

Вместо переключателя вы всегда можете использовать Dictionary<string, ...> и заполнить его один раз при запуске приложения

...