我最近看到一些C#代碼中的接口聲明和實現,其中在同一文件中,這樣C#接口和實現在同一個文件 - 好主意?
namespace MyNameSpace.Foo
{
public interface IFoo{
void DoThis();
}
public class Foo : IFoo {
public void DoThis();
}
}
在乍看之下,似乎都錯了有聲明和實現在同一文件中,但也有實用好處。例如在Visual Studio中定義時,界面和實現在同一個文件中。這種方法並不禁止您使用其他接口實現,例如單元測試可能需要的接口。對於只有一個實現的接口,我認爲這可能是一個實用的方法。
好主意嗎?
擴展問題:
人使用Visual Studio導航到一個實現,當你有一個接口引用IFoo myFoo = FooFactory.getFoo(MY_FOO);
如果我上的IFoo右鍵單擊並選擇轉到定義,我可以得到接口聲明怎麼辦。有沒有辦法讓我獲得IFoo的實現列表,因爲這正是我真正想要的。
目前爲止非常棒的評論。我認爲我的問題應該擴展到詢問人們如何使用Visual Studio導航到具有接口引用的實現: IFoo myFoo = FooFactory.getFoo(MY_FOO); 如果我上的IFoo右鍵單擊並選擇轉到定義,我可以得到接口聲明 有我得到的IFoo的實現的列表,這就是我在讓真正有興趣的一種方式。 – Paul 2010-01-26 09:37:38