Получить доступ к TryParse типа Enum через рефлексию - C#
Формулировка задачи:
возникла необходимость восстановить значение перечисления При этом typeof(Enum) говорит, что у него есть:
Как правильно вызвать
System.Windows.Forms.FormWindowState
из строки. МетодаParse
илиTryParse
у этого перечисления нет. Пытаюсь получить метод TryParse типа Enum, однако получаю null.FormWindowState windowState; string str = "Normal"; MethodInfo methodInfo = typeof(Enum).GetMethod("TryParse", new[] { typeof(string), typeof(Enum).MakeByRefType() }); if (methodInfo != null) { object[] objects = new object[] { str, typeof(FormWindowState).MakeByRefType() }; if ((bool)methodInfo.Invoke(windowState, objects)) windowState = (FormWindowState)objects[1]; }
[System.Reflection.RuntimeMethodInfo] = {Boolean TryParse[TEnum](System.String, TEnum ByRef)}
typeof(Enum).GetMethod();
чтобы получить ссылку на метод?Решение задачи: «Получить доступ к TryParse типа Enum через рефлексию»
textual
Листинг программы
var parser = new FileIniDataParser(); MainFormSettings = new MainFormSettings(); IniData iniData = parser.ReadFile(FileName); //вызываем метод расширения MainFormSettings.LoadFromIniData(iniData["MainFormSettings"]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д