为什么不能看到我的新物体? C#

时间:2010-03-29 08:30:09

标签: c# object

我准备在C#上大学上课了。我一直在阅读它,并决定开始一个有趣的项目。

以下是我的项目包括:

  • 主要控制表格
  • 配置表格
  • Arduino的

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工作头   演示

如果有人可以提供帮助和/或提供指示,请告诉我。如果我没有正确发布或格式化,请告诉我。

非常感谢:)

2 个答案:

答案 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方法中被声明为本地,并且在该方法之外的任何人都无法访问。