Подтвердить что ты не робот

Любое ограничение количества свойств в .NET классе?

Получил спецификацию, чтобы добавить к объекту более 800 свойств. Являются ли их "пределами" числу свойств, которые объект может иметь в С# (или .NET)?

Является ли их влияние на производительность воздействием на объекты этого класса с помощью этого множества свойств?

Спасибо!

4b9b3361

Ответ 1

Метаданные могут содержать до 24-битных ссылок/определений на сборку. Будучи собственностью, вам нужно 2 метода на каждое свойство. Следовательно, предел будет 23-бит или 1 << 23 - 1 для всей сборки.

Update:

Если они являются только свойствами только для чтения, предел будет 1 << 24 - 1.

Ответ на второй вопрос:

Нет, накладные расходы не будут. Простые свойства, вероятно, будут встроены в JIT.

Некоторые мысли:

Вы никогда не достигнете вышеуказанного предела. Изображение имеет 16 миллионов свойств. Для этих имен потребуется 16 миллионов строк. Скажем, среднее имя - 8 символов, тогда вы смотрите на размер таблицы строк ~ 256 МБ (имя свойства + имя метода), а затем вы еще не начали кодирование. Просто мысль.