а) Да. Технически, вы можете узнать, какие другие конструкторы вызываются, если вы читаете информацию из ConstructorInfo.GetMethodBody()
, но без вспомогательной библиотеки, такой как Mono.Cecil, вам придется декодировать IL из байтового массива.
b) В вашем случае да, но обычно нет. Отражение можно использовать только для отражения статических данных, а не динамического состояния во время выполнения, поэтому вы не сможете использовать его, чтобы узнать, какие значения были переданы в качестве параметра конструктору, если он не был указан как литерал, как у вас В этом случае вы можете использовать ту же технику выше с ConstructorInfo.GetMethodBody()
или Mono.Cecil.