我准备在C#上大学上课了。我一直在阅读它,并决定开始一个有趣的项目。
以下是我的项目包括:
Program.cs 在启动时调用 Configuration.cs 。这是Arduino的引脚模式设置和定时器设置的位置。当我设置这些值时,它们会被发送到 MainControl.cs 。当我点击Configuration.cs中的“保存”按钮时,会创建一个 MainControl.cs 对象[[我的错误吗?]]
Configuration.cs 发送的所有值都有相应的setter,它们在 MainControl.cs中设置私有静态变量 [[我真的不知道是否是首选的方式,我最明确地对任何人的建议开放]]
MainControl.cs 使用其默认构造函数,此构造函数调用一个方法,该方法从其中一个私有变量(serialPort)创建一个arduino对象[[使用此Arduino类Firmata.NET] ]
当创建arduino对象时,我知道(我想我这样做),因为表单需要几秒钟才会出现(而不是使用串口)我的问题是:
我不明白为什么没有人能看到对象
我一直很罗嗦,如果我不简洁,我道歉。这是代码:
public partial class CMainControl : Form
{
private static string serialPort;
public CMainControl()
{
InitializeComponent();
createArduino();
updateConfig(); // Change label values to values set in configuration
}
private void createArduino()
{
Arduino arduino = new Arduino(serialPort);
}
在 Configuration.cs 中,当我通过组合框设置串口时,该值被发送到 MainControl.cs 就好了。
这是我得到的错误:
错误1名称'arduino'没有 存在于当前 上下文C:\ Programming \ Visual Studio \ Workhead Demo \ Workhead 演示\ CMainControl.cs 94 13工作头 演示
如果有人可以提供帮助和/或提供指示,请告诉我。如果我没有正确发布或格式化,请告诉我。
非常感谢:)
答案 0 :(得分:3)
尝试将Arduino变量定义为CMainControl类中的字段。
public partial class CMainControl : Form
{
private Arduino arduino;
private static string serialPort;
private void createArduino()
{
arduino = new Arduino(serialPort);
}
答案 1 :(得分:1)
我猜,因为我不确定我是否完全遵循了这一点,但我猜这是因为你的arduino对象在你的create方法中被声明为本地,并且在该方法之外的任何人都无法访问。