2013-04-17 50 views
3

如何在.NET 3.5中实现此行为,其中没有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

+0

尝试var而不是动态可能适合你.. –

+0

@PranayRana不,它仍然是一个对象。 –

+1

您需要将BindingFlags添加到方法调用中,以便知道要查找哪种类型的方法。例如,BindingFlags.Public和BindingFlags.Instance。 –

回答