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