Ответ 1
1) Создайте настраиваемый атрибут, предназначенный для полей < ш > 2) Добавьте его в нужные поля
3) Итерации через типы, определенные в вашей сборке
4) Для каждого type:
4a) итерация через поля
4b), если поле имеет свой пользовательский атрибут перейдите к шагу 4c
4c) get или установить значения поля