如何在两个类之间传递数据?

xxxtttccc 2011-12-20 10:02:56
假如有两个CLASS A和B
我在A中有一个变量n,但是我在写B时发现要用到变量n的内容,有什么好的办法可以使B中顺利的读取到A中的n变量?
变量n是在A实例化后才会有值。
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
帮帮你我她 2011-12-22
  • 打赏
  • 举报
回复

Public Class Kjx_Config
Public Sub New()
End Sub

'---显示器用串口设置
Public XSQ_PortName As String = "COM1" '显示器串口端口号
Public XSQ_BaudRate As String = "38400" '显示器串口波特率
'---显示器用串口设置
End Class

‘使用时如下实例化一下,即可做普通变量对待了
Public Kjx As New Kjx_Config '公共变量装载时已经赋初值
If Kjconfig.XSQPortName.Items.Contains(Kjx.XSQ_PortName) = False Then
Kjconfig.XSQPortName.Items.Add(Kjx.XSQ_PortName)
End If
If Kjconfig.XSQBaudRate.Items.Contains(Kjx.XSQ_BaudRate) = False Then
Kjconfig.XSQBaudRate.Items.Add(Kjx.XSQ_BaudRate)
End If
’。。。。

积善成魔 2011-12-21
  • 打赏
  • 举报
回复
Public Class A
Public Shared MyA As A
Public n As String
Public Sub New()
MyA = Me
n = "蛋疼的变量"
End Sub
End Class

Public Class B
Public Sub ShowA()
If Not A.MyA Is Nothing Then
MsgBox(A.MyA.n)
Else
MsgBox("A还没有初始化")
End If
End Sub
End Class
eaqpi 2011-12-21
  • 打赏
  • 举报
回复
你既不想实体化类,又想取值,要不就做成模块,不要做成类了。
eaqpi 2011-12-21
  • 打赏
  • 举报
回复
继承?
xxxtttccc 2011-12-21
  • 打赏
  • 举报
回复
这个值是从数据库中读取的值,可是在B中再进行读取的话会显的比较麻烦。有什么好办法吗?
Kelvin峰 2011-12-21
  • 打赏
  • 举报
回复
你也可以在ClassB中定义一个static,如下:


class ClassA
{
private string _n = "";

public string n
{
get
{
return _n;
}
set
{
_n = value;
}
}

public string doExcute()
{
_n = "234";
//ClassB b = new ClassB(_n);
ClassB._n2 = _n;
return ClassB.doExcuteB();
}
}



class ClassB
{
public static string _n2;

public static string doExcuteB()
{
return _n2;
}
}
Kelvin峰 2011-12-21
  • 打赏
  • 举报
回复
我不清楚你为什么要这么做,但是做的方法有许多。

A:

class ClassA
{
private string _n = "";

public string n
{
get
{
return _n;
}
set
{
_n = value;
}
}

public string doExcute()
{
_n = "123";
ClassB b = new ClassB(_n);
return b.doExcuteB();
}
}


B:

class ClassB
{
private readonly string _n1;

public ClassB(string _n)
{
this._n1 = _n;
this.doExcuteB();
}
public string doExcuteB()
{
return _n1;
}
}
efenghyx 2011-12-21
  • 打赏
  • 举报
回复
虽然不明白,顶一个拿分走人。
eaqpi 2011-12-20
  • 打赏
  • 举报
回复
A实例化后才会有值,不实例化没有值,怎么给

要不把A的计算值的代码拷贝一份到B中去,一样运算下就是了。

16,554

社区成员

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

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