窗体和DLL之间的C#值重置

窗体和DLL之间的C#值重置,c#,class,C#,Class,我有一个程序,它在DLL中使用两个类和一个用于显示结果的窗体 我的第一节课: public class Channels { public int Wavelength = 0; } 第二点: public class SayMyName { public Channels CH1 = new Channels(); public void Wave(string longu) { CH1.Wavelength = 01064; //breakpoint here, all is

我有一个程序,它在DLL中使用两个类和一个用于显示结果的窗体

我的第一节课:

public class Channels
{
 public int Wavelength = 0;
}
第二点:

public class SayMyName
{
 public Channels CH1 = new Channels();
 public void Wave(string longu)
 {
  CH1.Wavelength = 01064; //breakpoint here, all is good
 }
}
我的表格:

public SayMyName pub = new SayMyName();
private void button3_Click(object sender, EventArgs e)
{
 string longu = textBox3.Text;
 pub.Wave(longu); //breakpoint here, my value in CH1.Wavelength is reset?!
 textBox2.Text = CH1.Wavelength.ToString();
}
此程序在我的文本框中显示0

我在类中设置了一个断点
SayMyName
CH1.Wavelength
=1064。 我在表单中放置了另一个断点,在那里
CH1.Wavelength
=0


如何在
CH1.Wavelength
中保留该值?

您应该更改以下内容:

 textBox2.Text = CH1.Wavelength.ToString();
为此:

 textBox2.Text = pub.CH1.Wavelength.ToString();

通过这种方式,您将访问pub对象的CH1变量,而不仅仅是突然出现的CH1。

您应该更改以下内容:

 textBox2.Text = CH1.Wavelength.ToString();
为此:

 textBox2.Text = pub.CH1.Wavelength.ToString();

通过这种方式,您将访问pub对象的CH1变量,而不仅仅是突然出现的CH1。

此代码不会编译。A.
long
是一个保留的C字B.你不能做
CH1.Wavelength
你可以做
pub.CH1.Wavelength
谢谢你,当然
long
是一个随机的名字,不是我写的!这段代码不会编译。A.
long
是一个保留的C字B.你不能做
CH1.Wavelength
你可以做
pub.CH1.Wavelength
谢谢你,当然
long
是一个随机的名字,不是我写的!