2011-09-09 76 views
0

我正在有三類方案:如何將一個類的值返回給另一個類?

  1. 輸出類與其他兩類接收數據,寫入到兩個新的字符串,結合特殊格式到另一個字符串,並將其
  2. AidaF類有輸出返回一個值(字符串)的方法每隔第二
  3. GmailF類有一個返回使用return string;返回來自類2的數據的值(字符串)每分鐘左右

,所以我累的方法和3到第一個類,但只是將值返回給當前類,而不是返回第一個類。

這是我正在處理的這段代碼,雖然減少了很多。但基本知識在那裏。

namespace Final 
{ 
    public class Output 
    { 
     public static void Main() 
     { 
      Console.WriteLine(gml + aida); 
     } 
    } 

    public class AidaF 
    { 
     private static System.Timers.Timer aTimer; 

     public static void AMain() 
     { 
      aTimer = new System.Timers.Timer(1000); 
      aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); 
      aTimer.Interval = 1000; 
      aTimer.Enabled = true; 
     } 


     private static void OnTimedEvent(object source, ElapsedEventArgs e) 
     { 
      ... 
      reader.ReadToFollowing("value"); 
      aida.Append(reader.ReadElementContentAsString()).Append(","); 
      return aida; 
      ... 
     } 
    } 

    public class GmaillF 
    { 
     private static System.Timers.Timer gTimer; 

     public static void GMain() 
     { 
      gTimer = new System.Timers.Timer(200000); 
      gTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent1); 
      gTimer.Interval = 200000; 
      gTimer.Enabled = true; 
     } 

     private static void OnTimedEvent1(object source, ElapsedEventArgs e) 
     { 
      CheckMail(); 
     } 

     public static string CheckMail() 
     { 
      ... 
      gml.Append(reader.ReadElementContentAsString()).Append(","); 
      return gml; 
      ... 
     } 
    } 
} 
+0

我真的不明白你在問什麼,但你似乎想把課程當作程序/功能......他們實際上不是,實際上或語義上。 :-P – Noldorin

+0

我想返回類2和類3的值,以便類1可以對它們做些什麼。 – Csharpz

+0

你想重新發明「可觀察集合」模式嗎?也就是說,收藏通常被認爲是您「拉」信息的來源,一次只能做一件事,就像一列客戶。可觀察的收藏*將信息推送給對其感興趣的消費者。 –

回答

1

你需要調用從調用類暴露的靜態方法爲了得到這個工作,所以例如你的主會看起來更象這樣:

public static void Main() { 
Console.WriteLine(GmailF.CheckMail() + AidaF.OnTimedEvent()); 
} 

我只是猜測CheckMail和OnTimedEvent是你試圖返回的字符串。 CheckMail和OnTimedEvent都必須是公共靜態字符串才能工作。

相關問題