MethodInfo.Invoke без параметра
пример кода, который я пытаюсь сделать, несомненно, будет лучше, чем мой английский:
public bool IsNumericValueInBounds (string value, Type numericType)
{
double d = double.NaN;
bool inBounds = (bool)numericType.GetMethod ("TryParse").Invoke (null, new object[] { value, d });
return inBounds;
}
К сожалению, для метода TryParse необходим параметр out, поэтому это не работает.
любые идеи, как это решить?
(ps.: would'nt это будет хорошим примером для утиной печати?), потому что я знаю, что каждый numericType имеет "TryParse" или я ошибаюсь?)
Ответы
Ответ 1
public static bool TryParse( string text, out int number ) { .. }
MethodInfo method = GetTryParseMethodInfo();
object[] parameters = new object[]{ "12345", null }
object result = method.Invoke( null, parameters );
bool blResult = (bool)result;
if ( blResult ) {
int parsedNumber = (int)parameters[1];
}