在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