次のシナリオを検討してください。
Public Class Condition(Of T)
'...
End Class
ここで、このクラスのインスタンスをさまざまな型でいくつか作成します。これらのインスタンスを一般的なリストに入力したいと考えています。何かのようなもの:
Dim Conditions As New List(Of Condition....?)
Conditions.add(new Condition(Of String))
Conditions.add(new Condition(Of Double))
Conditions.add(new Condition(Of CustomClass))
これを行う最善の方法は何ですか?今のところ、次のことを行っています。
Public Class Condition(Of T)
implements ICondition
'...
End Class
そしてそれを次のように使用します:
Dim Conditions As New List(Of ICondition)
Conditions.add(new Condition(Of String))
Conditions.add(new Condition(Of Double))
Conditions.add(new Condition(Of CustomClass))
ただし、 ICondition は完全に空です。これにより、物事を進めるためのより良い、またはより受け入れられた方法がおそらくあると思います。空の基本クラスから継承することもできますが、そのほうがよいでしょうか? この種のことを行うための好ましい方法は何ですか?
ジェネリックを含むリストがより広範なタイプである限り、任意のタイプの条件を挿入できることを理解しています。Public Class Condition(Of T)
ただし、必要以上に広くしたくはありません。 のインスタンスであるが、型が異なる可能性があるオブジェクトを挿入できるようにしたいだけです。