如何解决C# 静态类和 VB.NET 模块之间有什么区别如果有的话
C# 支持在类定义上使用 static
修饰符来定义一个不能被继承、被密封并且只有静态成员的类。 VB.NET 支持 Module
语句来定义通过其命名空间可用的引用类型,以达到类似的效果。
我知道 C# 和 VB.NET 共享一个共同的 CodeDOM、Roslyn 编译器和目标 IL。我的问题是静态类与模块之间有什么区别(如果有的话)。
解决方法
就我而言,只有两个真正的区别在于模块不能被继承,也没有构造函数。
除此之外,模块非常类似于不可继承的类,其中该类只包含共享(vb.net 相当于静态)成员。
例如以下模块:
Public Module Test
Public Function Foo() As String
Return "Foo"
End Function
End Module
可以类似地表示为:
Public NotInheritable Class Test
Public Shared Function Foo() As String
Return "Foo"
End Function
End Class
C# 开发人员可能更喜欢后者,而传统的 Visual Basic 开发人员会选择前者。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。