Как я могу обеспечить сериализацию T в фиксированном количестве байтов?

Я пишу общую DataStructure , которая сохраняется на диске, и мне нужно записать ее так, чтобы T был гарантированно сериализуем в фиксированном количестве байтов. Например, int и char должны быть приняты, но string или int [] - нет. Аналогичным образом, структура с элементом string неприемлема, а небезопасная структура с фиксированным массивом char -

. Я мог бы написать тест во время выполнения в инициализаторе, используя отражение и sizeof , чтобы проверить каждый член, но это похоже на ужасный взлом. Есть ли какой-нибудь эффективный и (относительно) безопасный способ сделать это?

5
задан dlras2 11 August 2011 в 15:25
поделиться