在浏览System.ComponentModel.DataAnnotations.CustomValidationAttribute
这里的源代码时,我看到了以下代码(缩短):
try
{
methodInfo.Invoke(null, methodParams);
}
catch (TargetInvocationException ex)
{
if (ex.InnerException != null)
{
throw ex.InnerException
}
throw;
}
在这里,代码检查是否ex.InnerException
为空。我认为如果从反射调用中抛出 a ,它TargetInvocationException
永远不会有 a 。null
InnerException
这可能吗?InnerException
如果是这样,请提供一个可以为空的场景。