当你开始觉得 约C#的外部和非本地对象的关系动态类型的一个非常大的优势来 - COM特别 对象。在这种情况下,使用COM IDispatch接口使用 来解析动态类型,这又意味着您可以使用 COM对象为“原始”,即不使用主互操作程序集(PIA)。由于 许多COM对象都广泛使用变体类型,它可以存储任意数量的标准数据类型,能够使用动态类型代替变体是一种很大的简化。
我已经知道如何动态在C#中使用,但是 - 我想知道它是怎么做的(通常与COM)
看着办公室COM对象模型例如:
(Excel.Range)excel.Cells[1,1]).Value= "some string"
的投必须包括因为PIA
使用对象类型来表示变体
现在(2010 ...),动态这是可以做到的:
excel.Cells[1,1].Value= "some string"
但
一个对象可以提供其通过实施结合语义DynamicObject
如:我的问题:
确定MS [changed] or [added code] or [now-inherit-DynamicObject]
COM对象以允许excel.Cells[1,1].Value= "some string"
工作?
他们是否重新构建了整个机制?
非常感谢Hans。 –
我从COM日中错过了一些*方面......全能的“QueryInterface”就是其中之一...... – JerKimball