|
↓たとえばこんなの?
Imports System.Collections.Generic
Public Interface IHoge
Sub Hoge()
End Interface
Public Class HogeInt : Implements IHoge
Private value As Integer
Public Sub New(n As Integer)
value = n
End Sub
Public Sub Hoge() Implements IHoge.Hoge
System.Console.WriteLine("Hoge:{0}", value)
End Sub
End Class
Module Program
'--- IHoge を実装する T を要素とするhogesの各要素に対し、
'--- 片っ端からほげる。
Sub AllHoge(Of T As IHoge)(hoges As IEnumerable(Of T))
For Each item As IHoge In hoges
item.Hoge()
Next
End Sub
Sub Main()
Dim hoges As New List(Of IHoge)
hoges.Add(New HogeInt(123))
hoges.Add(New HogeInt(456))
hoges.Add(New HogeInt(789))
AllHoge(hoges)
End Sub
End Module
|