3

如何在没有dynamic关键字的 .NET 3.5 中实现此行为。

Guid CLSID_ShellApplication = new Guid("13709620-C279-11CE-A49E-444553540000");
Type shellApplicationType = Type.GetTypeFromCLSID(CLSID_ShellApplication, true);
dynamic shellApplication = Activator.CreateInstance(shellApplicationType);
dynamic windows = shellApplication.Windows();

for (int i = 0; i < windows.Count; i++)
    windows.Item(i).Refresh();

我尝试使用

MethodInfo windowsMethod = shellApplicationType.GetMethod("Windows");

GetMethod返回null

4

1 回答 1

3

如果你想要的是 .NET < 4.0 中的动态行为,你可以直接去 DLR 检查这个网站http://dlr.codeplex.com/ 你也可以看看这个视频。IronPython 背后的人展示了如何为办公室(使用 COM)实现 DLR 绑定器 http://channel9.msdn.com/blogs/pdc2008/tl10

于 2013-04-18T15:55:40.393 回答