2012-12-20 73 views
0

我有一個類T,它包含TcpClient,以及一個TcpListener。當我調用AcceptTcpClient()時,會返回一個TcpClient,我會得到一個X類,或者能夠將此TcpClient「投射」到我的類X.將對象X轉換爲繼承X的對象Y

我不能做某件事像(X)TcpClient,所以我有點失落。

+0

你有代碼示例嗎? –

+1

你不能那樣做。這裏是類似的問題:http://social.msdn.microsoft.com/Forums/eu/csharplanguage/thread/8c400d6f-c2e0-412a-b30e-165974c9bd0d – JleruOHeP

回答

1

這是不可能的。如果對象具有正確的運行時類型,則只能向下轉發。

相反,您可以創建一個具有接受TcpClient的構造函數的適配器,但會添加自己的功能。

class MyTcpClientAdapter 
{ 
    private TcpClient tcpClient; 

    public MyTcpClientAdapter(TcpClient tcpClient) { 
     this.tcpClient = tcpClient; 
    } 

    // etc... 
} 
+0

好的,這是我的想法。是否有可能在遺傳類中設置「基地」? – Phito