在C#中是否有一種方法可以創建類似於僅在創建對象的新實例時才創建的結構?這是一個例子。我希望人們能夠分配事件,問題是有很多要分配的事件,並且通常它們具有類似的功能,只是針對不同的對象。例如,左鍵按下事件,右鍵按下事件等等。我認爲我可以用結構組織所有這些,但是當我發現結構被認爲是「靜態」並且無法訪問非結構時,我遇到了一個障礙靜態成員。有沒有什麼結構可以讓我在C#中做到這一點。C#組織變量?
(最終的結果應該讓我做一個新的對象,並分配給該通過這些結構對象事件)
MouseObject mouse = new MouseObject();
mouse.Left.PressedEvent += somemethod();
在這個例子中左不可能是一個結構,因爲它是在非靜態使用實例。
你的問題很困惑(或混淆)。結構不被認爲是靜態的 - 事實上,這個概念甚至沒有意義。你的代碼當然可以被編譯,儘管這不是一個好主意。我看不出在這裏使用結構的理由 - 您應該真正瞭解結構和類之間的差異。 – 2012-07-07 14:32:46
當你感到「結構是靜態的」時,你是否在你的'MouseObject'類中定義了'Left'結構?如果你真的創建了你的結構的一個實例,它將不會是「靜態的」(除非你使用'static'關鍵字定義實例)。 – 2012-07-07 14:35:18