Ответ 1
Честно говоря, я никогда не делал этого сам, но я знаю, что можно создать собственное определение RuntimeType
вашего указанного типа.
Если вы заметили, что класс Type
является абстрактным и имеет много абстрактных memebers. Случается, что ваш тип (независимо от этого) автоматически создает RuntimeType
из класса Type
и реализует его для вашего типа.
Таким образом, свойство UnderlyingSystemType
в случае orindary RuntimeType
будет возвращать Type
свойство равное значение, в случае чрезмерной реализации, вместо этого (то есть для влияния на поведение при переходе, но я повторяю, что лично я никогда этого не делал раньше), вернет заданное пользователем значение типа.
EDIT
На самом деле ссылка, предоставленная ребятами в комментариях, является хорошей: