簡體   English   中英

如何在返回的類上實現接口並保留其數據?

[英]How can I Implement an interface on a returned class and keep its data?

我需要在WCF服務返回的類中實現接口。 我該怎么做並保留服務返回的數據?

我嘗試了這個:

public class ClientDerived: Client, ImyInteface
{
  public string myInterfaceMethod()
  {
    return "MyInterface Implemented";
  }

}

然后像這樣使用它:

ClientDerived myClient= new ClientDerived();
myClient = (ClientDerived) myService.GetClient();

但是,當我將基類轉換為派生類類型時,出現編譯錯誤。 所以我的問題仍然存在:如何在wcf返回的類上實現新接口並保留其數據? 謝謝!

您不能向下轉換類以添加功能。 在C#中是不可能的。 如果您擁有的只是普通的Animal ,就不能僅僅因為希望它喵喵叫就將其轉換為Cat

但是,您應該能夠將接口添加到WCF框架已自動為您生成的代理類中,即將ImyInterface直接添加到Client 由於默認情況下自動生成的類是partial的,因此您可以擴展它們:

public partial class Client : IMyInterface
{
    public string myInterfaceMethod()
    {
        return "MyInterface Implemented";
    }
}

注意:代理類通常位於項目名稱空間的子名稱空間中(例如MyProjectNamespace.MyRemoteService ),因此請確保將擴展名放在相同的名稱空間中。 如果您不知道名稱空間,請檢查對象瀏覽器Ctrl + Alt + J )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM