在Windows窗体中使用控制台中的一个变量

时间:2017-08-25 08:36:13

标签: c# visual-studio

我有这个项目:

enter image description here

我需要使用" TransactionHandler.cs"中的变量。在" Enviar Faturas.cs" TransactioHandler是一个类库,Enviar Faturas是一个Windows窗体 有可能做我想要的吗?如果是这样我应该怎么做?

更新:

我在TransactionHandler.cs中声明了这个变量

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

我需要在Windows窗体上使用它" Enviar Faturas"。

更新2:

我有这个代码从datagridview中选择并编写一个文本文件:

FileInfo arquivo = new FileInfo(@"C:\Users\HP8200\Desktop\faturas\" + r.Index + ".txt");
我想改变" r.index"对于我在第一次更新时显示的变量

2 个答案:

答案 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;
    }
}

答案 1 :(得分: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和依赖注入。