Каким образом? Что вы можете сделать, так это переопределить функциональность ComponentModel, позволяя вашему объекту предоставлять другие свойства во время выполнения, чем при компиляции, но это не меняет отражения. Этот подход используется для поддержки привязки данных (например) DataView
. Вы бы посмотрели на ICustomTypeDescriptor
.
В .NET 4.0 поступают динамические объекты; нет специальной поддержки C # для создания динамического объекта, но если вы не возражаете против выполнения работы, вы можете написать объект, который ведет себя для нестатических абонентов.
Но повторить "шелковистый" - чего вы хотите достичь?