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
나는 조언을 원한다 :'Dim F1 As IFruit = New FruitExtended()' – vulkanino
고마워, 알았다. 두 인터페이스 (예 : A, B)에서 구현 된 클래스가 인터페이스로 매개 변수로 일반 메서드를 정의하는 방법을 가정하십시오? 그 방법에서 param (A 또는 B 여야 함)의 유형이 무엇인지 의미합니까? – Dinu