unsafe static CharUnicodeInfo() {
m_pDataTable = GlobalizationAssembly.GetGlobalizationResourceBytePtr(typeof(CharUnicodeInfo).Assembly, UNICODE_INFO_FILE_NAME);
UnicodeDataHeader* mainHeader = (UnicodeDataHeader*)m_pDataTable;
// Set up the native pointer to different part of the tables.
m_pCategoryLevel1Index = (ushort*) (m_pDataTable + mainHeader->OffsetToCategoriesIndex);
m_pCategoriesValue = (byte*) (m_pDataTable + mainHeader->OffsetToCategoriesValue);
m_pNumericLevel1Index = (ushort*) (m_pDataTable + mainHeader->OffsetToNumbericIndex);
m_pNumericValues = (byte*) (m_pDataTable + mainHeader->OffsetToNumbericValue);
m_pDigitValues = (DigitValues*) (m_pDataTable + mainHeader->OffsetToDigitValue);
// Go to native side to make sure the native CharacterInfoTable pointer in the native side is initialized.
nativeInitTable(m_pDataTable);
}