2016-12-25 184 views
1

我有一個泛型類這樣的存在:團結錯誤CS0103:名稱'」不存在當前上下文

public class Connection<T> where T: Stream 
{ 
    protected T _stream; 
    protected TcpClient _client; 

    public void Connect(){/*Do somthing*/} 
    public void Disconnect(){/*Do somthing*/} 

    public void Reconnect() 
    { 
     Disconnect(); 
     Connect(); 
    } 
} 

我使用VisualStudio的作爲編輯,它沒有錯誤,但在統一編輯器控制檯,它說:

錯誤CS0103: '切斷' 這個名字不會在目前情況下存在

錯誤CS0103:名稱「連接」不存在於當前上下文

錯誤的線是在Reconnect()功能存在。

如果我從這個類中刪除泛型,它沒有任何錯誤。 這是一個錯誤還是我錯過了某些東西?

+0

確保正確的Visual Studio工具統一設置。確保在函數定義中沒有任何隱藏的字符。或者只需切換到MonoDevelop一會兒,也許它會爲您解決它。 –

+0

MonoDevelop也沒有錯誤 – M6stafa

+0

我複製粘貼你的代碼在我的項目中,它工作正常。你在使用統一測試嗎? –

回答

0

我解決這個問題是這樣的:

public abstract class BaseConnection<T> 
{ 
    protected T _stream; 
    protected TcpClient _client; 

    public abstract void Connect(); 
    public abstract void Disconnect(); 
} 

public class Connection<T> : BaseConnection<T> 
    where T: Stream 
{ 
    public override void Connect(){/*Do somthing*/} 
    public override void Disconnect(){/*Do somthing*/} 

    public void Reconnect() 
    { 
     Disconnect(); 
     Connect(); 
    } 
} 
相關問題