如何在.net 3.5中实现动态特性

时间:2013-04-17 10:41:25

标签: c# .net dynamic reflection

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

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

1 个答案:

答案 0 :(得分:2)

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