protected override void PropertySet( PSProperty property, object setValue, bool convertIfPossible) { if (!(property.baseObject is ManagementBaseObject)) { throw new SetValueInvocationException("CannotSetNonManagementObjectMsg", (Exception)null, "ExtendedTypeSystem", "CannotSetNonManagementObject", new object[3] { (object)property.Name, (object)property.baseObject.GetType().FullName, (object)typeof(ManagementBaseObject).FullName }); } PropertyData pData = this.PropertyIsSettable(property) ? property.adapterData as PropertyData : throw new SetValueException("ReadOnlyWMIProperty", (Exception)null, "ExtendedTypeSystem", "ReadOnlyProperty", new object[1] { (object)property.Name }); if (convertIfPossible && setValue != null) { Type dotNetType = BaseWMIAdapter.GetDotNetType(pData); setValue = Adapter.PropertySetAndMethodArgumentConvertTo(setValue, dotNetType, (IFormatProvider)CultureInfo.InvariantCulture); } pData.Value = setValue; }
protected override string PropertyType(PSProperty property) { PropertyData adapterData = property.adapterData as PropertyData; string embeddedObjectTypeName = BaseWMIAdapter.GetDotNetType(adapterData).ToString(); if (adapterData.Type == CimType.Object) { embeddedObjectTypeName = BaseWMIAdapter.GetEmbeddedObjectTypeName(adapterData); if (adapterData.IsArray) { embeddedObjectTypeName += "[]"; } } return(embeddedObjectTypeName); }
internal static void UpdateParameters( ManagementBaseObject parameters, SortedList parametersList) { if (parameters == null) { return; } foreach (PropertyData property in parameters.Properties) { int num = -1; BaseWMIAdapter.WMIParameterInformation parameterInformation = new BaseWMIAdapter.WMIParameterInformation(property.Name, BaseWMIAdapter.GetDotNetType(property)); try { num = (int)property.Qualifiers["ID"].Value; } catch (ManagementException ex) { Adapter.tracer.TraceException((Exception)ex); } if (num < 0) { num = parametersList.Count; } parametersList[(object)num] = (object)parameterInformation; } }