我有一个MainWindow和另一个名为MyClass的类的应用程序。 MyClass中有一个我需要从MainWindow类访问的方法。当应用程序加载时,将加载MyClass。如何在不创建MyClass的新实例的情况下从MainWindow调用MyClass中的方法:
MyClass class = new MyClass();
?
最佳答案
您问题的直接答案是将类方法标记为静态。这样您就可以从任何地方调用它。
另一方面,它可能并不是您真正需要的。因此,如果您在Application类内部的应用程序启动时创建MyClass
,则需要例如通过application属性公开MyClass
实例。查看示例代码。
public class MyClass
{
public void Method()
{
// ...
}
}
您的应用代码:
public partial class App
{
public MyClass MyClassInstance { get; private set; }
private void Application_Startup(object sender, StartupEventArgs e)
{
MyClassInstance = new MyClass();
}
}
以及调用类方法的窗口代码:
public partial class MainWindow : Window
{
private void Button_Click(object sender, RoutedEventArgs e)
{
((App)Application.Current).MyClassInstance.Method();
}
}
关于c# - 从MainWindow访问类的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15798775/