[英]C# object reference in static void main
我有個問題。 我正在嘗試在靜態void main中訂閱事件,但出現錯誤“非靜態字段,方法等需要對象引用”
這是代碼的一部分:
public static void Main(string[] args)
{
...
Factorial Fact = new Factorial();
Fact.Progression += new Factorial.ProgressEventHandler(Progress);
...
}
如何擺脫錯誤? 提前致謝
嘗試內聯。
public static void Main(string[] args)
{
...
Factorial Fact = new Factorial();
Fact.Progression += (s,e) => { /*Do stuff*/ };
...
}
沒有完整的代碼很難確定,但是我猜測您的Progress
函數不是靜態的。 如果將其更改為靜態,則該代碼應該可以工作。
您不能在靜態函數中引用類的非靜態成員。
您的代碼具有在Main方法之外定義的變量。 將其標記為靜態,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.