Текст, содержащийся в поле «Исключения» для ArgumentException
, предполагает, что переданное значение подлежит преобразованию , что объясняет, почему оно успешно выполняется.
Параметр значения не может быть преобразован и сохранен в поле.
Я согласен, что это выглядит немного странно, тем более что я обычно ожидаю, что API-интерфейсы отражения будут одними из более жестких и менее прощающих.
Вы можете попытаться связаться с Эриком Липпертом , хотя это скорее вопрос BCL / CLR, чем C #, есть вероятность, что он узнает ответ или узнает кого-то, кто знает. Либо так, либо вы сможете дать очень хорошее предположение.