2009-05-14 2 views
2

Есть ли способ получить размер экземпляра (или класс, который я не против) на C#?Размер экземпляра в C#

Например, я знаю, что в Delphi каждый объект имеет указатель на таблицу виртуальных методов класса, указатель для каждого интерфейса, который он реализует, плюс, конечно, поля этого класса.

В соответствии с this базовый размер объекта составляет 12 байтов в x86, но существует ли «правило» для правильного его размера?

+1

Просто любопытно: почему? Для чего вы это используете? –

+2

Duplicate: http://stackoverflow.com/questions/207592/getting-the-size-of-a-field-in-bytes-with-c#207605 –

+0

Так что нет возможности рассчитать его «theroretically», просто измерение с помощью GC? –

ответ

3

Это зависит от того, что вы ищете. Если вам интересно узнать, насколько большой тип/объект будет использоваться для взаимодействия с собственным кодом, вы можете использовать Marshal.SizeOf(). Кроме этого, нет окончательного способа измерения размера объекта.

Смежные вопросы