首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >行为差异Dim oDialog1 as Dialog1 = New Dialog1 VS Dim oDialog1 as Dialog1 = Dialog1

行为差异Dim oDialog1 as Dialog1 = New Dialog1 VS Dim oDialog1 as Dialog1 = Dialog1
EN

Stack Overflow用户
提问于 2010-10-11 22:12:41
回答 1查看 261关注 0票数 0

VB.Net 2005

我有一个现在关闭的Dialog1。要从模块中从Dialog1获取信息,我需要使用

代码语言:javascript
运行
复制
Dim oDialog1 as Dialog1 = **New** Dialog1.

VB.Net 2008

我还有一个还开着的Dialog1。要从模块中从Dialog1获取信息,我需要使用

Dim oDialog1 as Dialog1 = Dialog1

VB.Net 2005不使用Dim oDialog1 as Dialog1 = Dialog1进行编译,并且坚持使用

怎么回事,为什么我需要不同的初始化语法?

EN

回答 1

Stack Overflow用户

发布于 2010-10-12 01:55:33

Dialog1是要创建的对象的类型。

代码语言:javascript
运行
复制
Dim oDialog1 as Dialog1 = Dialog1

就像说

代码语言:javascript
运行
复制
MyCat is a Cat, and it's a Cat.

不太合理。

如果你需要知道猫有多少腿,或者猫是毛茸茸的,那么你可以说Cat.CountLegs,但你不能说Cat.GetName或Cat.Age,因为你不知道你在说哪只猫。

你的对话框也是这样。

代码语言:javascript
运行
复制
Dim oDialog1 as Dialog1 = Dialog1

并不是指任何特定的对话框,只是对话框1的一般情况,这是没有意义的(也不应该在VB.NET 2008中编译)。

何地as

代码语言:javascript
运行
复制
Dim oDialog1 as Dialog1 = New Dialog1

给你一个全新的Dialog1,叫做oDialog1。有关oDialog1的所有询问都将为您提供关于Dialog1对象的通用的、默认的。

Dialog1不会有位置,因为它还不存在。但是,因为您已经使用新关键字创建了一个新实例,所以oDialog1将是Dialog1类型的第一个对象--您可以给它一个位置,等等。

如果你打电话

代码语言:javascript
运行
复制
Dim oDialog2 as Dialog1 = New Dialog1

然后,您将有两个对话框1-每一个有一个单独的位置,等等。

如果您给Dialog1和oDialog1更好的名称,比如UserConfirmationDialog和confirmExit,这将有助于更好的理解。

然后它就会变成

代码语言:javascript
运行
复制
Dim confirmExit as UserConfirmationDialog = New UserConfirmationDialog.

也有可能

代码语言:javascript
运行
复制
Dim confirmDelete as UserConfirmationDialog = New UserConfirmationDialog.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3910322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档