我正在寻找简单的方法将方法的输出存储在某种变量中,以便它可以被另一个类使用.
例如:
partial class Form1 {
public string orderNumber() {
string ord="ORD"+get_next_id()+DateTime.Now.Year;
return ord;
}
}
Run Code Online (Sandbox Code Playgroud)
在Form1用户的实例中输入购买详细信息,例如名称,地址......当用户点击添加条目按钮时,详细信息将保存在数据库中,ordernumber并由上面的代码生成.同时,当用户单击添加条目时,它会终止当前表单并显示另一个使用ordernumber之前生成的表单.当我喜欢的时候
Form1 m=new Form1();
Run Code Online (Sandbox Code Playgroud)
并执行类似的操作(以下是伪代码)
m.orderNumber=string orderNUm.
Run Code Online (Sandbox Code Playgroud)
它生成不同的订单号,我不想要.我想使用由数据库保存的订单号Form1.
我想将那个ord存储在某处,以便我可以将它传递给另一个类.
另一个类可以通过调用方法本身来使用结果:
public class A
{
public string orderNumber()
{
string ord = "ORD" + get_next_id() + DateTime.Now.Year;
return ord;
}
}
public class B
{
public void DoSomeWork()
{
A a = new A();
string result = a.orderNumber();
}
}
Run Code Online (Sandbox Code Playgroud)
"将其存储在某处"的概念就像是全局变量的概念.虽然可以完成基本相同的事情,但是不鼓励这样做,因为它不代表面向对象的设计原则.
只是为了理解你如何在C#中做到这一点(你不应该这样做),你可以这样做:
static public SharedStorage
{
public string OrderNumber { get; set; }
}
// Somewhere in your code
SharedStorage.OrderNumber = a.orderNumber();
// Somewhere else in your code
string orderNumber = SharedStorage.OrderNumber;
Run Code Online (Sandbox Code Playgroud)
如果你想设置一个实例订单号一次,然后用它前进,你可以把逻辑在构造函数:
public class A
{
public string OrderNumber { get; private set; }
public A()
{
OrderNumber = "ORD" + get_next_id() + DateTime.Now.Year;
}
}
// Somewhere else in your code
A a = new A();
string orderNumber = a.OrderNumber;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |