c# - VB.net Shared 与 C# 静态可访问性差异,为什么?

标签 c# vb.net

这可能是一个愚蠢的问题 - 但为什么共享方法可用于 VB.net 中的类型和实例 - 我是否错误地认为它们等同于 C# 静态方法?

MyClass.MySharedMethod()

dim mc as new MyClass()
mc.MySharedMethod()

为什么我可以这样做?这有什么可能的好处——我所看到的只是在使用智能感知时让人们感到困惑。我确信这与经典 VB6 中的一些约定有关,为什么要费心将它带到 .NET 中 - 它对我来说似乎太糟糕了。

最佳答案

是的,它基本上是 VB6 的后遗症。 Java 也允许您这样做,但我相信现在大多数 IDE 都会警告您。

是的,这是一个非常糟糕的主意。最明显的坏例子是 Thread.Sleep:

Dim t as new Thread(...)
t.Sleep(1000)

哪个线程正在休眠?目前的。呸!

关于c# - VB.net Shared 与 C# 静态可访问性差异,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/511477/

相关文章:

c# - 使用 Windows .NET 或 ASP.NET 应用程序时在何处存储数据库密码

vb.net 专用/重载泛型

vb.net - LINQ 泛型 SUM - VB.NET

.net - VB.Net 的解决方法 - ByRef 属性参数

c# - 选择字符串中的某些值

c# - 哪个免费的 C# 单元测试框架?

c# - 比较像素中的 RGB 颜色并将其原始颜色更改为最接近的颜色

c# - 无法将 void 转换为 int

C# 从流中压缩和压缩 csv

.net - 在Visual Studio中捕获JIT错误