gpt4 book ai didi

VB.Net 形式的非共享方法被引用就像它们被共享一样?

转载 作者:行者123 更新时间:2023-12-01 11:01:00 24 4
gpt4 key购买 nike

虽然我主要是一名 C# 开发人员,但我正在为 VB.Net 应用程序提供支持。我遇到过我认为是“奇怪”的代码,因为我的 C# 心态告诉我代码是错误的,不应该编译,但它确实编译了。我在特定表单上执行了查找所有引用 以查看它被使用的位置,并找到了对直接引用类的非 shred 方法而没有实例化类的表单的引用。换句话说,我看到这样的代码:

FrmCareer.ShowDialog(careerId)
FrmCareer = Nothing

现在 ShowDialog 不是 共享成员,它引用实例成员变量,所以我不希望 intellisense 列出 ShowDialog 方法根本。但它确实可以编译。谁能解释这里发生了什么?

最佳答案

VB.NET 具有(非常好的)功能,可以将所有表单的集合作为属性保存在 My.Forms 下。目的。那里的对象在您第一次访问它们时被实例化。通过这种方式,您可以获得每个可以引用的表单的默认实例。

不太好的一面是,VB 坚持全局导入 My.Forms 对象的属性,您无法更改它。

换句话说,应用程序中任何表单的类名兼作该表单的全局实例。

关于VB.Net 形式的非共享方法被引用就像它们被共享一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com