Простого пути нет, и sizeof
подойдет только для типов значений.Типичный объект содержит ссылки на списки и другие объекты, поэтому вам нужно будет перебрать все указатели, чтобы получить действительное количество байтов, а также добавить размеры указателей.
Вы можете проверить .Net ProfilingAPI, или используйте профилировщик памяти, такой как dotTrace.Профилировщик памяти, по крайней мере, поможет вам увидеть, где выделяется память и является ли выделение памяти проблемой в вашем приложении.Это часто более полезно, чем фактический размер объекта.