![]() |
1
20
首先,请注意expandoobject类与C 4.0没有任何关系。C小组没有设计或实现这个对象。C 4.0和Expandoobject类只与最新版本的.NET一起提供。 为了回答你的问题,我建议你 documentation 对于Expandoobject,它清楚地说明:
如文档所述,如果您希望自定义分派语义高于仅仅调用成员,那么使用dynamicObject类。
有人可能想要一个Expando对象,但这个人可能既不想要也不需要原型继承。Expando对象在逻辑上不需要任何形式的继承。
使用DynamicObject对象。编写自己的原型继承机制。
如果您试图编写与JScript完全相同的原型继承,我建议您阅读ECMAScript规范。 极其 仔细地。原型继承看起来很简单,但有一些微妙之处,大多数人都会出错。例如,即使是JScript专家也常常会弄错这个小问题。这个JScript代码打印什么?
原型继承并不总是像您认为的那样工作!有关此打印内容和原因的解释,请参见 my article on the subject . |
![]() |
damiano celent · 向原型方法添加回调函数并设置此上下文 9 年前 |
![]() |
DLF85 · 通过伪经典实例化(JavaScript)掌握原型继承 9 年前 |
![]() |
arachide · 受不同影响的原型属性 9 年前 |
![]() |
Data · 批评我的原型继承模式[已关闭] 9 年前 |