2017-08-25 51 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和依赖注入。

相关问题