Я пытаюсь использовать отражение для вызова метода на объект, и могут быть задействованы параметры. Код работает отлично, когда параметры не указаны, но возвращает неверные данные при наличии параметров.Метод вызова на объекте возвращает строку параметров - Reflection C#
Вот мой код:
object temp = readerTask.GetType().GetProperty(bsplit[0]).GetValue(readerTask, null);
if (useParams)
{
MethodInfo methodInfo = temp.GetType().GetMethod(bsplit[1].Split(new char[] { '(' })[0], new[] { typeof(string) });
string p = bsplit[1].Split(new char[] { '(', ')' })[1];
value = methodInfo.Invoke(temp, new[] { p });
}
else
{
value = temp.GetType().GetMethod(bsplit[1]).Invoke(temp, null);
}
В качестве примера, моя входная строка Date.ToString("MMMM dd, yyyy")
.
ТЕмп объект имеет правильный объект даты в нем, что я хочу, чтобы отформатировать, но когда я запускаю через код, данные в значение переменной MMMM dd, yyyy
Как я могу получить метод для запуска и использования параметры правильно?
, как это 'Date defined'? –
Вы уверены, что temp является объектом 'DateTime'? –
Это поможет, если вы можете предоставить короткую, но полную * программу, демонстрирующую проблему. –