Метаданные могут иметь до 24-битных ссылок / определений на сборку. Будучи собственностью, вам нужно 2 метода для каждого свойства. Следовательно, предел будет 23-разрядным или 1 << 23 - 1
для всей сборки.
Обновление:
Если это только свойства только для чтения, предел будет 1 << 24 - 1
.
Ответ на второй вопрос:
Нет, производительности не будет. Простые свойства могут быть встроены в JIT.
Некоторые мысли:
Вы никогда не достигнете вышеуказанного предела. Imaging, имеющий 16 миллионов свойств. Для этого также потребуется 16 миллионов строк, хранящихся в именах. Скажем, среднее имя составляет 8 символов, затем вы смотрите на размер таблицы строк ~ 256 МБ (имя свойства + имя метода), а затем вы еще даже не начали кодирование. Просто мысль.