Как проверить тип значения, что оно является структурой?C#

Место общения программистов C#
Ответить
Anonymous
 Как проверить тип значения, что оно является структурой?

Сообщение Anonymous »

У меня есть интерфейс, с помощью которого я хочу реализовать вычисления на графическом процессоре. Я работаю с ILGPU, который может работать с функциями, содержащими только неуправляемые типы.
Пример функции:
public static void Calculate(int[] buffer, D drawer)
where D : struct, IDrawer

Хорошая новость заключается в том, что вы можете реализовать интерфейсы для структур, но плохая новость... из-за строгой типизации я не могу передать аргумент непроверенному методу, и из-за синтаксиса я не могу установить такое ограничение для свойств и полей, чтобы они были структурами, а также проверить, является ли текущее значение структурой.
//Don't work:
public D Drawers where D : struct, IDrawer { get; set; }
if (Drawer is struct s) { }
Calculate(buffer, Drawer);


Подробнее здесь: https://stackoverflow.com/questions/786 ... s-a-struct
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»