这有点难以解释,但是基本上是:
我想从另一个类更改一个类的 Color 属性:在这种情况下,是动画类
Form1->包含对象“ ShapeClass”->包含“ FillColor”和 “位置”属性
AnimatorClass->包含变量“ SubjectProperty”,即 在整个动画中其值都会更改的对象。子 “ run()”将更改“ ShapeClass”对象中的值
这就是动画的工作原理:
Dim Shape1 as ShapeClass = new ShapeClass()
Dim anim as AnimatorClass = new AnimatorClass()
anim.SubjectProperty = Shape1.Position
anim.run()
动画将成功运行:实际更改Shape1对象的 Position 属性。
但是,只要将 Drawing.Color 用作 SubjectObject ,Shape1.FillColor中的实际值就不会更改。在所有其他情况下, SubjectProperty 变量似乎是对ShapeClass中实际属性的引用,并且对SubjectProperty进行了更改,转到了它所引用的属性,但这似乎并没有发生 Drawing.Color 类。
有人可以告诉我为什么会这样,如何解决?谢谢。
(如果我不好解释的话,很抱歉)