저는 WinForms 응용 프로그램에서 작업 중이며 BindingList 데이터 소스를 사용했습니다. 객체가 유효한지 여부는 PropertyDescriptor으로 확인해야합니다. PropertyDescriptor.GetValue(object obj)
이 유효한 개체로 작동하기 때문입니다. 하지만 때로는 "TargetInvocationException"이 있습니다. 그래서 그 개체가 유효한지 또는 값을 얻기 전에 확인하고 싶습니다.PropertyDescriptor에서 유효한 개체를 확인하는 방법은 무엇입니까?
System.Reflection.TargetException: Object does not match target type.
at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.SecurityUtils.MethodInfoInvoke(MethodInfo method, Object target, Object[] args)
at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
--- End of inner exception stack trace ---
at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component)
'시도/캐치'가 너무 비쌉니까? [CheckConsistency'] (https://referencesource.microsoft.com/#mscorlib/system/reflection/methodinfo.cs,9d661e8f9f8783cd) 메소드에서 유형을 확인할 수 있어야합니다 (리플렉션을 사용하여 비공개에 액세스해야 할 수도 있음). 회원). – Sinatr
코드를 보여줄 수 있습니까? – Usman