以另一种形式访问类的同一实例

2023-12-12

我确信这是一个简单的问题,但我没有足够的经验来知道答案。 :)

DataClass, Form1, Form2

我有公开课DataClass,在一个单独的文件中,DataClass.vb. In DataClass我需要访问的数据存储在多个数组中。我有方法DataClass这样我就可以访问数据。其中之一是GetName。一切正常Form1。我需要在另一种形式上访问数组中的相同数据,但我需要调用该类的新实例,因此当我调用方法来访问数组时,数据为空。

我见过一些线程提到创建一个singleton class,但大多数都是关于我不太熟悉的C#。

最佳实践是什么?


您可以通过多种方式做到这一点。 其中之一涉及创建一个Module然后创建实例化类的变量Public模块内部:

Module MyGlobalVariables
    Public MyDataClass As DataClass
End Module

现在,您项目中的所有表单都将能够访问DataClass via MyGlobalVariables.MyDataClass.


更好的方法是向 Form2 添加一个属性,该属性可以设置为DataClass实例:

Public Property MyDataClass As DataClass

然后,你将实例化你的Form2如下(假设您用于实例化的变量DataClass in Form1叫做_dataClass):

Dim frm2 As New Form2()
frm2.MyDataClass = _dataClass
frm2.Show()

最后,另一种方法是重写构造函数Form2并允许它接收类型的参数DataClass。然后,你可以实例化Form2 as:

Dim frm2 As New Form2(_dataClass)

希望这可以帮助...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以另一种形式访问类的同一实例 的相关文章

  • 如何在.NET 中编写安全/正确的多线程代码?

    今天我必须修复一些使用线程的旧 VB NET 1 0 代码 问题在于从工作线程而不是 UI 线程更新 UI 元素 我花了一些时间才发现可以使用 InvokeRequired 断言来查找问题 除了上面提到的并发修改问题之外 还可能遇到死锁 竞
  • 特殊名称属性还允许哪些其他巧妙的技巧?

    研究中一个问题 https stackoverflow com questions 13259162 vb net power operator overloading from c sharp关于实现 Visual Basic Power
  • 调用退出后应用程序未退出

    我有一个小问题 我似乎无法弄清楚 我正在将 DataGridView 它的内容 保存到 xls 文件中 我这样做没有任何问题 除了在我的任务管理器中它仍然显示它正在运行 我已致电 xlApp Application Quit 这被声明为 D
  • 在 Ruby 中跨多个类实例记忆数据的好方法是什么?

    考虑 生成数据的对象的许多实例 如果每次运行只生成一次该数据 那就太好了 class HighOfNPeriods lt Indicator def generate data indicator data DataStream new 0
  • C++类名冲突

    我现在正在做一个项目 需要整合两个子项目 项目A是用C 编写的 项目B是用C编写的 一个问题是 在项目B中 有一个名为vector它是由其作者创建的 在项目 A 中 std vector in STL用来 因为项目B以后可能会更新 所以我不
  • 使用 iTextSharp CSSResolver 类的命名空间

    我正在使用 iTextSharp CSSResolver 类在 vb net 中使用外部 css 请让我知道使用的命名空间XMLWorkerFontProvider CssFilesImpl StyleAttrCSSResolver类 下面
  • 类的成员复制

    在学习 复制成员 概念时 书中给出了如下说法 此外 如果非静态成员是引用 const 或没有复制赋值的用户定义类型 则无法生成默认赋值 我不太明白这个声明到底想传达什么 或者说这个说法指的是哪一种场景 谢谢 该语句与编译器自动为您编写的类
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • Swift:协议、结构、类

    我开始学习 Swift 语言 但在理解协议 结构和类方面遇到了困难 我来自 Android 方面的编程 所以我相信 Swift 协议基本上是 Java 接口 其中每一个的正确用例是什么 这些类比并不 完全 正确 但这就是我所理解的要点 是的
  • 外部类与单例类

    假设我们使用 extern 关键字有一些外部链接 我有 在class1 cpp中 MyClass myClassVar NULL 构造函数初始化上述内容 析构函数删除 然后在class2 cpp和class3 cpp中有 extern My
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam
  • 下载需要使用 vb.net/c# 进行身份验证的文件?

    与 CSV 文件类似 可以从以下位置下载http download finance yahoo com d quotes csv s RHT 如何下载需要身份验证的文件 我可以简单地使用 My Computer Network Downlo
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • 单例属性

    好吧 如果我创建一个单例类并通过公共静态属性公开单例对象 我明白了 但我的单例类还有其他属性 这些应该是静态的吗 这些也应该是私人的吗 我只想通过执行以下操作来访问单例类的所有属性 MySingletonClass SingletonPro
  • PHP - 扩展 __construct

    我想知道你是否可以帮助我 我有两个类 一个扩展了另一个 B 类将由各种不同的对象扩展 并用于常见的数据库交互 现在我希望 B 类能够处理其连接和断开连接 而无需来自 A 类或任何外部输入的指示 据我了解 问题是扩展类不会自动运行其 cons
  • 如何为类本身(而不是类的实例)选择自定义字符串表示形式?

    考虑这个类 class foo object pass 默认的字符串表示形式如下所示 gt gt gt str foo
  • 无法从 C# WPF 中的另一个窗口调用方法

    好吧 假设我有两个窗户 在第一个中我有一个方法 public void Test Label Content works 在第二个方法中 我称此方法为 MainWindow mw new MainWindow mw Test 但什么也没发生
  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • 变量替换为字符串

    我可以做类似的事情吗 s said s blah name blah 在 VB NET 中 写字越来越痛苦name said blah blah 在VB NET 14 对于VS2015 中 您可以使用字符串插值 https msdn mic
  • Outlook 加载项,无法读取未定义的属性“BeginRequestEventArgs”

    我使用 Visual Studio 开发了 Outlook 插件 我的插件有一个按钮 用于填充会议邀请正文中的详细信息并添加所需的与会者 这在 99 的情况下都有效 但是 时不时地它会给我下面的 JavaScript 错误 Uncaught

随机推荐

  • 如何更改 scss mixin 中的全局变量

    主题变量 scss Declare a global variable and set it to red color fg primary text red below mixin is used in styles scss to pa
  • 在 Laravel 5.8 中提交后使用 @error 指令从多个输入字段中定位前一个输入字段

    新的 error指令是Laravel 5 8 13 中引入 因此 不要这样做 old if errors gt has email span errors gt first email span endif 你现在可以这样做 new err
  • 如何在我的项目中使用 Chrome 调试 Angular *ngIf 结构指令?

    我想将 Angular 源代码 源映射附加到我生成的 Angular CLI 项目中 以便我可以调试如下指令 ngIf在 Chrome 中 是否可以以某种方式将调试器附加到ng if ts使用一些 angular json 配置 源映射 或
  • 使用 fsolve 的方程组

    我尝试使用以下方法找到方程组的解scipy optimize fsolve在Python 2 7中 目标是计算化学系统的平衡浓度 由于问题的性质 一些常数非常小 现在对于某些组合我确实得到了正确的解决方案 对于某些参数我找不到解决方案 要么
  • 如何防止Python IDLE在运行新脚本时重新启动

    我使用Python 3 6 1 IDLE 我希望能够运行一系列脚本 同时维护本地环境 变量等 就像我已将所有命令逐行输入到 shell 中一样 但是 每当我执行脚本时 环境都会重新启动 并且我会丢失之前执行的所有变量 我可以采取什么措施来防
  • Pandas 数据框中值的矢量化查找

    我有两个 pandas 数据框 其中一个称为orders另一个叫daily prices daily prices如下 AAPL GOOG IBM XOM 2011 01 10 339 44 614 21 142 78 71 57 2011
  • java.util.Scanner 跳过输入请求[重复]

    这个问题在这里已经有答案了 我正在尝试使用接收输入java util Scanner Scanner scanner new Scanner System in int bla scanner nextInt String blubb sc
  • 是否有使用 ExoPlayer 实现 DASH 的非 YouTube 示例?

    您好 我正在寻找配置示例ExoPlayer for DASH 但我发现的例子使用 Youtube 视频 有没有 YouTube 上没有的视频示例 能DASH可以针对互联网上的任何视频进行配置吗 是的 ExoPlayer 可以通过 HTTP
  • 如何将Yii2的ActiveForm复选框设置为选中状态?

    我正在为 Yii2 ActiveForm 复选框控件的 选中 状态寻找一个简单的解决方案 但我找不到如何设置它的解决方案 我在文档中找不到任何示例 我尝试过操纵渲染代码 但看来我需要修改 ActiveForm 本身 如何让复选框默认选中 好
  • 如何停止oracle撤消进程?

    我想知道如何停止oracle的撤消过程 我试图删除一个大表的数百万行 在过程中我终止了会话 但它开始撤消删除 并且在大约两个小时内数据库变得非常慢 我不想继续撤消过程 有什么办法可以阻止它吗 您无法停止回滚事务的过程 因为这样做会使数据库处
  • 当微调器遮盖锚元素时,如何使用 Selenium 和 Python 单击锚元素?

    我是硒的新手 我已经尝试单击锚元素有一段时间了 我已经尝试过 css selector lint text xpath absolute xpath 但我仍然无法单击它 而是收到此错误消息 selenium common exception
  • Dropbox API 请求令牌不适用于 Python 3?

    我正在使用官方 Dropbox API 维护一个 Python 应用程序 为了要求用户让我的应用程序使用他们的 Dropbox 帐户 我使用了一个使用 DropboxSession 类的小脚本 这显然与我们可以在这篇博文 Include t
  • git merge 覆盖内容

    这是我的情况 我有两个功能分支 A 和 B 我想合并这两个分支 我做了以下事情 创建一个从 A 分支出来的新分支 C 签出新分支C run git merge B从命令行 我希望这两个分支合并 如果对相同文件的更改存在冲突 则该命令应引发合
  • Mongoose删除文档中的数组元素并保存

    我的模型文档中有一个数组 我想根据我提供的密钥删除该数组中的元素 然后更新 MongoDB 这可能吗 这是我的尝试 var mongoose require mongoose Schema mongoose Schema var favor
  • 如何确保链接的默认操作始终处于禁用状态?

    我正在开发一个项目 其中使用大量 ajax 调用来使站点交互更加优雅 我一直在使用的过程是获得脚本的链接 该脚本执行作为链接标记中的 href 存储的适当操作 然后 我使用 jquery 定位该元素并禁用默认操作并执行 ajax 调用 问题
  • Eclipse 中 Scanf 在 printf 之前执行

    我有以下简单的C语言代码 include
  • 在promise then mehod中返回Promise对象时的执行顺序[重复]

    这个问题在这里已经有答案了 代码是 Promise resolve then gt console log 0 return Promise resolve 4 then res gt console log res Promise res
  • 循环组合框 VBA

    我陷入了无法找到正确语法的困境 我正在处理的代码如下所示 Public Function Initializecolors initialize the colors by setting them with the help of the
  • 如何强制将重置推送到远程存储库?

    我们的远程主分支不知何故搞砸了 当前的开发代码与最新的提交一起位于主分支上 显然 开发代码还没有准备好用于主分支 因此 在我的本地存储库中 我重置了最新标签 git reset hard Tag 主分支现在在我的本地存储库上是正确的 现在
  • 以另一种形式访问类的同一实例

    我确信这是一个简单的问题 但我没有足够的经验来知道答案 DataClass Form1 Form2 我有公开课DataClass 在一个单独的文件中 DataClass vb In DataClass我需要访问的数据存储在多个数组中 我有方