development

매개 변수없이 MethodInfo.Invoke

big-blog 2021. 1. 6. 20:42
반응형

매개 변수없이 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 .: 이것은 오리 타이핑에 대한 좋은 예가 아닐까요?-모든 numericType에 "TryParse"가 있다는 것을 알고 있거나 제가 잘못 알고 있기 때문입니까?)


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];
}

참조 URL : https://stackoverflow.com/questions/569249/methodinfo-invoke-with-out-parameter

반응형