protected override void AddAllMethods <T>(ManagementBaseObject wmiObject, PSMemberInfoInternalCollection <T> members) { if (typeof(T).IsAssignableFrom(typeof(PSMethod))) { foreach (BaseWMIAdapter.WMIMethodCacheEntry entry in BaseWMIAdapter.GetInstanceMethodTable(wmiObject, false).memberCollection) { if (members[entry.Name] == null) { Adapter.tracer.WriteLine("Adding method {0}", new object[] { entry.Name }); members.Add(new PSMethod(entry.Name, this, wmiObject, entry) as T); } } } }
protected override T GetManagementObjectMethod <T>(ManagementBaseObject wmiObject, string methodName) { if (!typeof(T).IsAssignableFrom(typeof(PSMethod))) { return(default(T)); } BaseWMIAdapter.WMIMethodCacheEntry adapterData = (BaseWMIAdapter.WMIMethodCacheEntry)BaseWMIAdapter.GetInstanceMethodTable(wmiObject, false)[methodName]; if (adapterData == null) { return(default(T)); } return(new PSMethod(adapterData.Name, this, wmiObject, adapterData) as T); }