保護されたコンストラクターを持つクラスと としてマークされたクラスの違いは何MustInherit
ですか? (私は VB.Net でプログラミングしていますが、おそらく c# にも同様に当てはまります)。
私が尋ねる理由は、コンストラクターを共有/静的メソッドに変換したい抽象クラスがあるためです。(いくつかの制約を追加するには)。
共有関数でインスタンスを作成できないため、これを行うことはできません。
MustInherit
キーワードを削除することを考えています。これで違いはありますか?
ありがとう。
到着予定時刻:
MustInherit キーワードを削除すると、非常に便利な MustOverrides を含めることができなくなります。
それを念頭に置いて、私の問題を回避する方法はありますか?
ETA2:
明確にするために、MustInherit キーワードを削除しない限り、以下を実行できませんか?
Public MustInherit MyBaseClass
Private Sub New()
End Sub
Protected Function CreateInstance(ParmList) As MyBaseClass
If ParmList is Ok Then Return New MyBaseClass()
End Function
End Class