![](/img/trans.png)
[英]VS2010 C# WPF App: New WPF Project Cannot Call Static Class Method from Another Project
[英]Using another class in WPF C# Project
如何在MainClass中创建另一个类的对象。
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
myClass obj = new myClass();
//obj.Show(); //not possible!!
}
public partial class myClass
{
void Show()
{
}
}
}
现在,在此项目中,我无法使用“ obj”对象访问Show()方法。 如何在该项目中访问另一个类的方法?
您必须将Show声明为公共无效对象,才能访问该方法。
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
obj.Show(); //and must be inside of a method, function or constructor.
}
myClass obj = new myClass();
//obj.Show(); //not possible beacause is not a public method.!!
}
public partial class myClass
{
//public method.
public void Show()
{
}
}
}
阅读您的评论后,我了解您是WPF的新手,并将某些概念与控制台应用程序混淆了。
在控制台应用程序中, Main
方法充当入口点,并且该方法中的所有内容均按从上到下的顺序执行,除非进行了某些函数调用。 考虑以下示例。
Static void Main(string[] args)
{
myClass obj = new myClass();
obj.Show();
}
该代码有效,因为在启动控制台应用程序时,它从上到下执行。 我的意思是,它创建了一个myClass对象并调用Show方法,但是在WPF中却有所不同。 像Main
一样立即执行的唯一方法是MainWindow
Constructor。 除非它们是属性,否则不会自动执行构造函数之后的代码,就像控制台应用程序一样。 我的意思是以下代码在控制台应用程序中无法正常工作。
Static void Main(string[] args)
{
myClass obj = new myClass();
}
obj.Show();
这是因为Show方法在Main
方法的外部被调用,并且程序不知道如何处理它。 同样在WPF中,您必须在构造函数中调用Show方法。
public MainWindow()
{
InitializeComponent();
obj.Show();
}
在WPF中,有许多方法可以调用Show方法,而上述方法只是其中之一。 逻辑控制台应用程序和WPF应用程序的逻辑同时相似且不同。 我建议您阅读一些有关WPF的文章或书籍,以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.