2013-06-24 33 views
-2

我需要使用單獨的基類clientbasechannelbase ..我創建了兩個部分類,但我得到這個錯誤..請幫助!從partial聲明的一個,或者獲取錯誤「部分聲明不能指定不同的基類」

private partial class ChangeRequestWebServiceClientChannel : System.ServiceModel.ClientBase<CreateCR.ChangeRequestWebService.IChangeRequestWebService>, CreateCR.ChangeRequestWebService.IChangeRequestWebService 
{ 
     public CreateCR.ChangeRequestWebService.SaveCRResponse SaveChangeRequest(CreateCR.ChangeRequestWebService.SaveCRRequest req) 
     { 
      return base.Channel.SaveChangeRequest(req); 
     } 
} 

private partial class ChangeRequestWebServiceClientChannel : System.ServiceModel.ClientBase<CreateCR.ChangeRequestWebService.IChangeRequestWebService>.ChannelBase<CreateCR.ChangeRequestWebService.IChangeRequestWebService>, CreateCR.ChangeRequestWebService.IChangeRequestWebService 
{ 
    public ChangeRequestWebServiceClientChannel(System.ServiceModel.ClientBase<CreateCR.ChangeRequestWebService.IChangeRequestWebService> client) : 
     base(client) 
    { 
    } 
} 
+0

「partial」關鍵字只是用於幫助將類定義分解爲多個文件 - 當某些代碼是自動生成的,其餘代碼由開發人員編寫時,這非常有用。這並不意味着你可以從兩個基類繼承。 C#不支持多重繼承。 – YK1

+2

正是錯誤所說... – leppie

+0

您不能從兩個獨立的基類繼承使用兩個單獨的部分類。最後,這是**一個類**,而C#不支持**多重繼承。你不能做到這一點 - 沒有辦法,沒有任何竅門,也沒有解決方法 - 你只能做到這一點。 –

回答

0

刪除基類,如果你需要延長兩個不同的基類,重命名partial類之一,並拔下partial - 這會給你兩個獨立的子類。

1

partial是用於分佈在多個文件中的類,結構,接口或方法的指定。它基本上是一個編譯器的指令,可以在編譯時將這些部分合併成一個類型。它不會改變繼承的規則。

相關問題