最近の質問と回答で述べたように、静的クラスから継承することはできません。VB.NET内の静的クラスに付随するルールをどのように適用しますか?フレームワークはC#とVBの間で互換性があるため、クラスを静的としてマークする方法があることは理にかなっていますが、方法はないようです。
回答:
モジュール==静的クラス
継承できないクラスが必要な場合は、クラスを使用してくださいNotInheritable。ただし、静的/共有にはなりません。すべてのメソッド、プロパティ、およびメンバーをとしてマークすることもできますがShared、コンパイラーによって強制されないため、C#の静的クラスと厳密には同じではありません。
C#静的クラスと同等のVB.Netが本当に必要な場合は、を使用しModuleます。継承することはできず、すべてのメンバー、プロパティ、およびメソッドは静的/共有されます。
もうすぐです。インスタンス化も防止する必要があります。
NotInheritable Class MyStaticClass
''' <summary>
''' Prevent instantiation.
''' </summary>
Private Sub New()
End Sub
Public Shared Function MyMethod() As String
End Function
End Class
継承できないクラスを作成したいだけの場合は、C#ではSealedを使用でき、VB.NetではNotInheritableを使用できます。
静的に相当するVB.Netが共有されます。
vb.netで静的クラスを作成できます。解決策は
Friend NotInheritable Class DB
Public Shared AGE As Integer = 20
End Class
AGE変数はpublicstaticであり、このように他のコードで使用できます
Dim myage As Integer = DB.AGE
Friend = public、NotInheritable = static