2010-03-29 50 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

相關問題