Преобразование массива байтов к массиву типов примитивов с неизвестным типом в C#

У меня есть следующая проблема. У меня есть массив байтов, что я хочу преобразовать введение массив типов примитивов. Но я не знаю тип. (Это дано как массив типов). В результате мне нужен массив объектов.

Конечно, я мог использовать переключатель на типах (существует только ограниченное количество их), но интересно, существует ли лучшее решение для этого.

Пример:

byte[] byteData = new byte[] {0xa0,0x14,0x72,0xbf,0x72,0x3c,0x21}
Type[] types = new Type[] {typeof(int),typeof(short),typeof(sbyte)};

//some algorithm

object[] primitiveData = {...};
//this array contains an the following elements
//an int converted from 0xa0,0x14,0x72,0xbf
//a short converted from 0x72, 0x3c
//a sbyte converted from 0x21

Есть ли алгоритм для этого или если я использую переключатель

5
задан abatishchev 9 October 2012 в 11:06
поделиться