1
改變屬性時,我讀過範圍封閉節範圍&閉幕書的章你不知道js。該部分的網址:You don't know js對象引用需要非靜態字段,方法或屬性「Module.action2」的方法
我不知道是否有可能實現在C#部分中提到的模塊模式?
我試過下面的代碼,但在標題中得到錯誤,我做錯了什麼?或者有其他方法可以實現這一目標?
的C#代碼
class Program
{
static void Main(string[] args)
{
Module module = new Module();
Module.PublicAPIClass publicAPIClass = module.GetAPI();
publicAPIClass.PublicAPI.Invoke();
publicAPIClass.ChangeAPI();
publicAPIClass.PublicAPI.Invoke();
}
}
public class Module
{
protected Action action1 =() => { Console.WriteLine("API1"); };
protected Action action2 =() => { Console.WriteLine("API2"); };
public class PublicAPIClass
{
public Action PublicAPI { get; set; }
public void ChangeAPI()
{
PublicAPI = action2; //error here
}
}
public PublicAPIClass GetAPI()
{
PublicAPIClass publicAPIClass = new PublicAPIClass();
publicAPIClass.PublicAPI = action1;
return publicAPIClass;
}
}
爲什麼你想申請JS成語C#?你想用'模塊模式'解決什麼問題? C#有其他解決相同問題的方法(例如命名空間)。 – mjwills
讀這本書只是一個嘗試。也許PublicAPIClass是不必要的,但我想知道爲什麼我得到這個錯誤。 @mjwills – Jaraxuss
謝謝。 @mjwills – Jaraxuss