インターフェイスに具体的な実装を使用すると正常に機能する単純なwcfサービスコントラクトがありますが、具体的なクラスの代わりにパラメーターでインターフェイスを使用する場合は、以下に表示するエラーが発生します。
コードは次のとおりです。
[ServiceContract]
public interface IClientUserRegistration
{
[OperationContract]
void RegisterClientUser(ClientUser clientUser);
[OperationContract]
List<ClientUser> GetUsers();
}
ClientUserをIClientUserに置き換えると、WCFテストクライアントは、System.Object型を使用しているため、RegisterClientUser操作はサポートされていないと表示します。GetUsersの戻り値をListに置き換えると、System.Object []型を使用しているため、この操作はサポートされていないと表示されます。なぜこれらのエラーが発生するのですか?
IClientUserを使用しようとした理由は、IClientUserインターフェイスを実装するさまざまなユーザータイプを実装してRegisterClientに渡すことができるためですが、ClientUserのみを渡すことができる場合は、RegisterClientオーバーライドの束を作成する必要があります。さまざまなタイプのユーザー。