У меня есть универсальный метод с ограничением, как показано ниже:
private string GetResult<T>(T myObject) where T : IDoSomething<T>
{
......
}
Теперь проблема в том, что IDoSomething
реализуется классами, а не интерфейсом классов, и, кроме того, объекты всегдасозданный с использованием интерфейса в качестве типа, а не класса, подобного:
IClassA myObject = new ClassA();
Таким образом, всякий раз, когда вызывается универсальный метод, необходимо выполнить приведение к myObject
, чтобы переслать его как параметр.
Есть ли способ избежать приведения и заставить код работать?(кроме опции наследования IDoSomething
в IClassA
)