2015-06-28 44 views
-1

我有下面的類上使用:新不可以在接口

Public Class Class1 
    Public Function Create() As IDbDataAdapter 
     Try 
      Dim da As New IDbDataAdapter(CommandString, IDbConnection) 
     Catch ex As Exception 
      ' ... 
     End Try 
    End Function 
End Class 

Visual Basic中的智能感知都跟我說使用新IDbDataAdapter不能在接口上使用,所以我不要有什麼錯我的代碼」 t得到它

+3

接口只是定義方法/屬性的簽名,而不是實際的實現。出於這個原因你不能創建接口的實例。 – Enigmativity

+1

究竟是什麼錯誤告訴你。你不能創建一個接口的實例,你必須創建一個* class *的實例。 – David

回答

2

您不能創建一個接口或抽象類的新實例。一個接口只定義了一個類的方法簽名,並沒有任何行爲。

是否有這個接口的具體實現(非抽象類)?

在您例如,IDbDataAdapter由該實施: IDbDataAdapter富=新SqlDataAdapter的()

它還通過OleDataAdapter和一些類實現的。他們實現相同接口的優點是我們可以互換使用它們。