Ответ 1
Используйте this перегружать и использовать
returnType.GetMethod("Parse", new [] {typeof(string)})
Я вызываю статический метод. Разбор по типу через отражение, потому что я не знаю тип объекта во время компиляции (я знаю, однако, он имеет метод Parse, беря строку).
Однако я получаю исключение неоднозначного соответствия, предположительно потому, что существует много перегруженных методов Parse, каждый из которых принимает один объект (строка, int, double и т.д.).
Как я могу быть более конкретным в моем вызове метода, чтобы обеспечить правильный метод (Parse (string s)), и исключение не выбрано.
Мой код выглядит следующим образом:
Type returnType = p.PropertyType;
object value = returnType.GetMethod("Parse").Invoke(null, new string[] { "1" });
Используйте this перегружать и использовать
returnType.GetMethod("Parse", new [] {typeof(string)})
if (assembly != null)
{
List<System.Reflection.MethodInfo> mInfo = new List<System.Reflection.MethodInfo>();
Type myType = null;
foreach (Type item in assembly.GetTypes())
{
mInfo.Clear();
mInfo = item.GetMethods().ToList();
foreach (System.Reflection.MethodInfo item2 in mInfo)
{
if (item2.Name == methodName)
{
Method = item2;
break;
}
}
}
stateInstance = Activator.CreateInstance(myType);
}
return Method;