目前我正在试验 C#4 的动态编程,但我并不完全理解关键字 dynamic 在什么情况下有效。我很清楚它可以与 IDispatch 一起使用,因为它允许自动向调用者通知类型信息。但它不应该也适用于 IUnknown 和类型库吗?(在http://samgentile.com/Web/vs2010-and-net-framework-4-0/c-4-0-bcl-4-series-dynamic-primitive-type-part-1/我发现了一个模糊的提示应该可以绑定到 IUnknown。)
- IUnknown w/o typelib: 不应该工作,接口必须用 C# 显式编写,所以我没有尝试。(由 Hans Passant 在C# 4.0 动态对象和 WinAPI 接口(如 IShellItem)中确认(未在 C# 源代码中定义它们)。)
- IUnknown w/ type lib:我完全不知道它是否有效以及它是如何工作的,因为我没有找到明确的信息。(我将类型库链接到 COM dll,但 DLR 无法绑定方法。)
那么带有 lib 类型的 IUnknown 是否可以与 C# 的动态关键字一起使用?- 如果是这样,我该怎么办?