vb.net 创建自定义类后,如何创建这种类的数组

我是这样写自定义类;PublicClassgpPublicgpaAsStringPublicClassmc'一级子类publicttasstring'二级之类,但是在程序... 我是这样写自定义类;
Public Class gp
Public gpa As String
Public Class mc '一级子类
public tt as string '二级之类,但是在程序中始终无法直接调用。即:dim mm as gp 后用mm.mc.tt语句显示错误

public mva as string '二级之类,但是在程序中始终无法直接调用。即:dim mm as gp 后用mm.mc.mva语句显示错误
end class

end class

在程序段的语句:
Public Class Form1
'---------------------------运行正常------------------------------------
Public GPS As new gp '申明GPS属于自定义类gp时调用正常
’即:GPS.gpa = "值" 运行正常

'---------------------------运行正常------------------------------------

'---------------------------运行错误------------------------------------
public GPS() AS gp '申明数组GPS属于自定义类gp时调用正常,但是使用时显示程序错误

'即:GPS(0).gpa = "值" 运行错误

‘即时窗口提示:在 System.NullReferenceException 中第一次偶然出现的“AA.exe”类型的异常
'---------------------------运行错误------------------------------------

end class

请问各位申明数组属于自定义类gp应该如何写?
要是能够告知如何在程序中直接调用二级子类就更好了。
即:dim mm as gp 后用mm.mc.tt语句不会显示错误
展开
 我来答
墨武瞳
2018-04-21 · TA获得超过109个赞
知道答主
回答量:83
采纳率:0%
帮助的人:21.2万
展开全部
感谢问题者在最佳答案里追问中提供的答案,特意从中提取出来供同样有此问题的人解惑。
Dim GPS() As gp
ReDim Preserve GPS(1)
GPS(0) = New gp()
GPS(0).gpa = "值"
亲测有效,再次感谢问题者得到答案后不忘写出来。
补充:也可以这样:
Dim GPS(0) As gp
GPS(0) = New gp()
GPS(0).gpa = "值"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FMUD1
推荐于2018-04-21 · TA获得超过1008个赞
知道大有可为答主
回答量:1289
采纳率:71%
帮助的人:905万
展开全部
Public GPS As new gp
你出的问题不是很明显吗,就这句对的,其他都没用new
更多追问追答
追问
Public GPS() as new gp
会提示new不能用来申明数组
好像只能用:public gps() as gp
追答
Public GPS As new gp    
这其实是两句
Public GPS As gp
GPS =New gp
所以,定义数组也一样,每个元素new一次
public gps() as gp
gps(0)=new gp
gps(0).gpa=""
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式