我理解C#中有关全局变量的问题已被多次询问,但如果可能的话,任何人都可以解释如何使用在一个方法中创建的一个类的实例,但在另一个方法中也需要因为我必须依赖一个实例而不是创建多个实例。网上的其他问题对我所看到的内容没有帮助。
我的代码如下:
public void loadCreateAccountCtr()
{
// Create Controller
CreateAccountController ctr = new CreateAccountController();
// Start Controller
ctr.start();
// Session is active
}
public void checkCredentials(string appNum)
{
CreateAccountController ctr = new CreateAccountController();
ctr.create();
}
我正在创建一个CreateAccountController'ctr'的实例,所以我可以访问控制器中的方法,当我要将数据发送到系统的另一部分时,我需要调用另一个方法。如何在不创建新实例的情况下使用上一个实例(如checkCredentials(...)
中所示)由于
答案 0 :(得分:5)
阅读C#https://msdn.microsoft.com/en-us/library/aa691132(v=vs.71).aspx
中的变量范围private CreateAccountController ctr;
public void loadCreateAccountCtr()
{
// Create Controller
ctr = new CreateAccountController();
// Start Controller
ctr.start();
// Session is active
}
public void checkCredentials(string appNum)
{
if (ctr != null)
{
ctr.create();
}
else
{
//handle this case here
}
}
答案 1 :(得分:3)
您所描述的是Singleton设计模式。阅读相关内容并查看示例here。
然而,在这种情况下,ahmelsayed的答案可以完美地解决您的问题,如果以后您必须从系统中的其他类访问同一个类,实现CreateAccountController
,因为Singleton将在全局范围内解决问题。
你可以稍后再回过头来看看。祝你好运!