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