Помогите с Ограничением универсального типа "where"
От: Аноним  
Дата: 18.09.09 06:19
Оценка:
хотел сделать универсальную функцию для обработки 16-битных и 8-битных изображений. Изображение поступает в виде блока памяти.

private void ProcessImage<T>(IntPtr pImg, byte[] pixels) where T: byte, ushort {
  unsafe{
    T* t = (T*) pImg;
  }
}


при обявлении указателя вылазит такая ошибка:
Cannot take the address of, get the size of, or declare a pointer to a managed type ('T')

пытался прописать:
where T: byte, ushort
where T: Byte, Int16
прописать тоже не даёт. пришлось дублировать код.
подскажите что нибудь тут можно сделать чтобы код не дублировать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.