2012-01-15 54 views
-2

從Java背景編輯,我知道,一個接口的方法不能包含在界面內碼,如下面所描述(來自here截取):爲什麼可以在C#中指定接口方法的實現?

的接口內的方法聲明之後是分號, ,但沒有大括號,因爲接口不爲其中聲明的方法提供實現 。

這是否也適用於C#?由於我已經構建了一個接口來在Visual Studio中測試這個接口,並且在接口方法的主體中指定了代碼之後,編譯器並沒有阻止我這樣做。

+10

接口不能指定實現。發佈您的示例代碼。 – 2012-01-15 18:20:08

+0

謝謝克里斯,無需發佈代碼,因爲我只需要確認。 – 2012-01-15 18:24:47

+4

你爲什麼不試着編譯它? – Femaref 2012-01-15 18:35:13

回答

0

沒有。接口只能在c#中概述方法和屬性。方法體或實現是不允許的。粘貼一些代碼可能是爲了仔細觀察問題。

+0

謝謝,我只需要確認! – 2012-01-15 18:23:08

1

接口不能在C#

執行。如果你創建了下面

interface IInterface 
    { 
     void MyMethod() 
     { 

     } 
    } 

你會得到編譯錯誤interface members cannot have a definition

0

接口方法是抽象的,並且不能包含方法體一個接口;他們甚至沒有默認的實現。

0

您是否在開始代碼時使用了正確的關鍵字?例如:

interface IExampleInterface 
{ 

string ThisMethodReturnsString(string arg); 

} 
1

接口成員不能有定義。對於C#,java和所有面向對象的語言,這個規則是正確的。

相關問題