我有这个项目:
我需要使用" 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"对于我在第一次更新时显示的变量
答案 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和依赖注入。