是否存在C#等价的VB.NET"静态"?

时间:2014-06-26 13:53:07

标签: vb.net static

VB.NET静态声明:

http://msdn.microsoft.com/en-us/library/z2cty7t8.aspx

我可以在2008年找到这个问题的唯一参考:

http://forums.asp.net/t/951620.aspx?what+is+the+equivalent+of+static+from+vb+net+in+c+

在最新版本的C#中是否存在等价物,或者仍然不存在?在VB.NET中使用Static有什么特别的错误吗?

2 个答案:

答案 0 :(得分:1)

C#不支持它,可能不会因为它以某种方式违反了对象编程思想,即状态是对象的一部分,而不是方法。

当然可以说它只是语法糖,他/她将是非常正确的事件。但是,通过查看类代码,我们期望将其状态变量描述为类的字段。否则我们应该在每一种方法中找到它。

所以这可以简单地看出一些高层决策,你的耕作可能会有所不同。

答案 1 :(得分:0)

我个人喜欢VB过程级别的Static,即使它对某些人来说不够“纯”。

  1. 您可以在声明中设置它而忘记它:

    Static oClient As HttpClient = New HttpClient()

  2. 无需检查是否需要实例化模块级变量:

    If moClient Is Nothing Then moClient = New HttpClient()

而且,愚蠢的我,我一直希望C#.NET和VB.NET之间是等效的,但不幸的是,我了解到坚持这个概念是愚蠢的。