2010-03-29 48 views
0

我正准备在C#的大学上课。我一直在阅读它并决定开始一个有趣的项目。为什么我的新对象不被看到? C#

这里是我的项目包括什么:

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

的Program.cs在启动时调用Configuration.cs。这是Arduino的引脚模式设置和设置定时器的地方。当我设置这些值时,它们被发送到MainControl.cs。当我在Configuration.cs点击“保存”按钮,MainControl.cs对象被创建[我是正确的吗?]

所有由Configuration.cs发送这些值都相应的是设置私有静态变量MainControl.cs制定者[我真的不知道,如果这是首选的方式,我最definetly任何建议任何人开了]

MainControl.cs用途它的默认构造函数,并且这个构造函数调用一个方法从一个私有变量(serialPort)创建一个arduino对象[[Using这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不 存在:\程序\视觉 工作室\工作头演示\工作头 演示\ CMainControl 94的.cs 13工作头 演示

请让我知道如果有人能帮助和/或提供指针,并请让我知道,如果我不张贴或正确格式化什么。

非常感谢:)

回答

3

尝试在CMainControl类中定义Arduino变量作为字段。

public partial class CMainControl : Form 
{ 
    private Arduino arduino; 
    private static string serialPort; 

    private void createArduino() 
    { 
     arduino = new Arduino(serialPort); 
    } 
+0

哇,非常感谢。问题解决了:) – Dan 2010-03-29 08:45:29

1

我猜,因为我不知道我完全遵循这一点,但我猜这是监守你的Arduino对象的创建方法内声明的本地和人之外的将无法访问方法。

+0

就是这样,现在我知道了:) 谢谢你的帮助 – Dan 2010-03-29 08:45:52

相关问题