vb.net 的静态成员初始化块,怎么写啊

xjj2000 2011-03-01 04:51:01
不知道语法啊,就是一个类的静态成员(shared的)
我想在一个静态初始化块中用程序初始化,语法不知道怎么写,求教拉,谢谢,我是vb.net菜虫。
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjj2000 2011-03-02
  • 打赏
  • 举报
回复
非常感谢,结帖,散分!
xingyuebuyu 2011-03-01
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/ms229018(v=VS.80)

http://msdn.microsoft.com/zh-cn/library/ms182320(VS.90).aspx

系统在创建第一个类型实例或引用任何静态成员之前调用静态构造函数。用户不能控制何时调用该静态构造函数。如果静态构造函数不是私有,则系统以外的代码可以调用它。根据构造函数中执行的操作,这可能导致意外行为。
xjj2000 2011-03-01
  • 打赏
  • 举报
回复
多谢xingyuebuyu
请问,静态构造函数是在什么时候被执行?类第一次被引用的时候吗?
xingyuebuyu 2011-03-01
  • 打赏
  • 举报
回复
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s() As String = class1.ar
End Sub
End Class

Public Class class1
Public Shared ar() As String

Shared Sub New()
ReDim ar(100)
For ii As Integer = 0 To ar.Length - 1
ar(ii) = "hello"
Next
End Sub
End Class


在静态构造函数中进行初始化
xjj2000 2011-03-01
  • 打赏
  • 举报
回复
谢谢wuyq11
但是,我不new A()
能直接用初始化后 i。我把雀再说清楚点吧。
Public Class A
Shared arr(100) As String
End Class
现在我想永远不new一个A。但是arr的元素是全部初始化成"hello",

直接使用他们的值:A.arr(i)
怎么写呢?
wuyq11 2011-03-01
  • 打赏
  • 举报
回复
Public Class A
Shared i As Interger
Public Sub New()
i = i+1
End Sub
End Class

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧