[英]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.