0
如何將從派生類初始化的對象傳遞給以Interface作爲參數的方法?下面是我正在嘗試的例子。可能嗎?請提出任何更好的方法。在C#或vb.net中使用接口作爲方法參數
Public Interface IFruit
Property Name As String
Property Color As String
End Interface
Public Class Fruit
Implements IFruit
Private _Name As String
Private _Color As String
Public Property Color As String Implements IFruit.Color
Get
Return _Color
End Get
Set(value As String)
_Color = value
End Set
End Property
Public Property Name As String Implements IFruit.Name
Get
Return _Name
End Get
Set(value As String)
_Name = value
End Set
End Property
End Class
Public Class FruitExtended
Inherits Fruit
Private _Taste As String
Public Property Taste() As String
Get
Return _Taste
End Get
Set(ByVal value As String)
_Taste = value
End Set
End Property
End Class
Public Class A
Public Sub ProcessFruit(F as IFruit)
'...
'Do something
End Sub
下面的代碼可以工作嗎?或者如何以其他方式實現這一目標?
Public Sub Test()
Dim F1 as new FruitExtended()
ProcessFruit(F1)
End sub
End Class
你試過了嗎?只需要幾秒鐘就可以自己得到答案。 – Oded 2012-02-01 10:29:00
我建議要做的事:'昏暗的F1作爲IFruit =新的FruitExtended()' – vulkanino 2012-02-01 10:36:16
謝謝,明白了。假設如果我有一個從兩個接口(比如A,B)實現的類如何定義一個以接口爲參數的泛型方法?我的意思是該方法中應該是什麼類型的param(應該是A還是B)? – Dinu 2012-02-01 10:46:55