我在 1 个项目中有两个不同的 .cs 窗口。每个人都运行我程序的不同部分。但现在我需要在Form.cs中使用mainwindow.cs的变量(i)。这个变量一直在变化。
我该怎么做?
主窗口.CS
namespace samples
{
using System.IO;
........
public partial class MainWindow : Window
{
float i;
}
}
FORM1.CS
namespace samples
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
....
chart1.Series["Pakistan"].Points.AddXY(i, j);
}
}
}
如果您像您所做的那样在没有访问修饰符的情况下声明变量,则它是隐式的private
因此只能在声明它的类中访问(MainWindow
在这种情况下)。您可以添加访问修饰符:
internal float i;
这将允许您访问i
来自程序集中的其他类,例如Form1
.
有关访问修饰符的更多信息,请参阅 MSDN:https://msdn.microsoft.com/en-us/library/wxh6fsc7.aspx https://msdn.microsoft.com/en-us/library/wxh6fsc7.aspx
你几乎不应该暴露像这样的字段i
不过,在课堂之外;相反,你想要做的是使用一个属性:
private float i;
public float I
{
get { return i; }
set { i = value; }
}
更好的是,您可以使用自动实现的属性,这样您甚至不需要支持字段(i
):
public float I { get; set; }
公开属性而不是字段更好的原因有很多。这是有关该主题的一个来源 http://blogs.msdn.com/b/vbteam/archive/2009/09/04/properties-vs-fields-why-does-it-matter-jonathan-aneja.aspx(它以VB为中心,但理论应该是相同的)。
附录:请考虑变量的正确命名约定。i
对于你的变量来说不是一个好名字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)