Я предполагаю назад compatablility с.NET 1: я все еще немного нечеток о деталях, но я полагаю, что типом CLR всех массивов является просто Система. Массив, с дополнительными свойствами Type к поиску тип элемента. вероятно, просто не составлял это в CLR v1 и теперь должен поддержать это.
Это не работающий в (uint[])(new int[]{})
случай происходит, вероятно, из-за компилятора C# (не время выполнения CLR) способность сделать более строгий typechecking.
кроме того, массивы являются просто типом, небезопасным в целом:
Animal[] tigers = new Tiger[10];
tigers[3] = new Elephant(); // ArrayTypeMismatchException
Мы используем Xenocode Postbuild для всего, что нам нужно для обфускации. Имейте в виду, что практически любое обфускация вашей сборки замедлит ее выполнение.
EDIT
PostBuild больше не доступен, и фактически их сервер лицензий отключился, поэтому даже если у вас была лицензионная версия, вы больше не можете используйте его (почему вы не могли просто выпустить исходный код, народ?). Мы перешли на Crypto Obfuscator LogicNP , который был довольно интуитивно понятным и по-прежнему отлично работает со сборками Compact Framework.
Я использую Eazfuscator.NET - это бесплатно и хорошо.