Я экспериментирую со службами WCF и столкнулся с проблемой передачи интерфейсов.
Это работает:
[ServiceContract]
public interface IHomeService
{
[OperationContract]
string GetString();
}
но это не так:
[ServiceContract]
public interface IHomeService
{
[OperationContract]
IDevice GetInterface();
}
Когда я пытаюсь скомпилировать клиента, метод GetInterface терпит неудачу. Я получаю Exception о том, что он не может преобразовать Object в IDevice.
На стороне клиента класс IHomeService правильно реализует GetString со строкой в качестве возвращаемого типа, но GetInterface имеет возвращаемый тип объекта. Почему это не IDevice?