У меня есть AClass , который содержит явные преобразования в виде методов:
public static explicit operator Double(AClass x)
для всех примитивных типов: int, string и т. Д. Класс не реализует IConvertible interface.
Вдобавок к этим ограничениям я делаю универсальный метод, который имеет следующую сигнатуру:
private void VerifyBla<T>(string abc, T expected)
AClass - это, в основном, обертка вокруг примитивных типов, и в этом методе я хотел быпреобразовать AClass в T и проверить его значение.
Я попытался использовать:
(T)aClass
, но intelisense: невозможно преобразоватьнаберите 'AClass' в T.
Есть ли обходной путь, как решить эту проблему, с минимальными изменениями AClass или без изменений?
Я пробовал использовать:
(T)Convert.ChangeType(myobject, typeof(T));
, но это не удалось, потому что AClass не реализует IConvertible.И если бы я реализовал это, мне нужно было бы реализовать много методов, я думаю.