2017-08-25 84 views
0

我有這樣的項目:從控制檯在Windows窗體中使用一個變量

enter image description here

而且我需要在「投遞Faturas.cs使用一個變量,在「TransactionHandler.cs」 「TransactioHandler是一個類庫,Enviar Faturas是一個Windows窗體。
是否有可能做我想要的?如果是這樣,我該怎麼做呢?

UPDATE:

我有這個變量TransactionHandler.cs

聲明

var numfatura = _transaction.TransDocument + _transaction.TransSerial + _transaction.TransDocNumber;

,我需要使用它的Windows窗體 「投遞Faturas」。

更新2:

我有這樣的代碼從一個DataGridView選擇和寫文本文件:

FileInfo arquivo = new FileInfo(@"C:\Users\HP8200\Desktop\faturas\" + r.Index + ".txt");
我想改變「r.index」爲變量我發現在第一次更新

+0

你在TransactionHandler中持有什麼樣的變量? – marto

+2

你是什麼意思的「變量」?你是否正確地嘗試了公共?可能你需要閱讀一些有關C#和麪向對象編程的內容嗎? –

+0

我會在問題中添加一些代碼,以便更容易回答。 –

回答

1

我會建議使用屬性,而不是公共領域的:

public class TransactionHandler 
{ 
    private static string numfatura = _transaction.TransDocument + _transaction.TransSerial + _transaction.TransDocNumber; 

    public static string Numfatura 
    { 
     get { return numfatura ; } 
     set { numfatura = value; } 
    } 
} 

從另一個類,你打電話給你的變量是這樣的:

public class EnviarFaturas 
{ 
    public void DoSomething() 
    { 
     string r.Index= TransactionHandler.Numfatura; 
    } 
} 
+0

這被稱爲「屬性」而不是「變量」 –

+0

是,你是對的。這是屬性,謝謝你的建議 –

0

好了,從我的理解,並沒有執行的想法流,你可能需要在TransactionHandler(屬性)像這樣

public int Numfatura 
     { 
      get 
      { 
       return this._transaction.TransDocument + this._transaction.TransSerial + this._transaction.TransDocNumber; 
      } 
     } 

您可以將類型更改爲在您的代碼示例中使用「var」的形式。

要在窗體中訪問它,你需要一個類的實例(我不知道你的邏輯是什麼),但一旦你得到它,例如

var transactionHandler = new TransactionHandler(); 

,你可以簡單地嘗試

r.Index = transactionHandler.Numfactura; 

請記住,你可以打的默認數據值(int是0),如果你的方法依賴於其它事件發生。

我強烈建議您學習更多關於C#和麪向對象編程的內容,如Alexey Zimarev在評論中所述。 另外,您應該考慮如何在視圖中獲取/注入具體實例。 另一個好的和相關的閱讀將是單身模式,mvp和依賴注入。

相關問題