Как проверить тип значения, что оно является структурой?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

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