コード例 #1
0
        public static String[] GetValueAsStringArray(this PropertyData p, PropertyDataValueMap valueMap)
        {
            // Format value as string
            if (p.Value == null)
            {
                return(new String[] { String.Empty });
            }

            else
            {
                // Is the value an array?
                if (p.Value.GetType().IsArray)
                {
                    var objects = (IEnumerable)p.Value;
                    var values  = new List <String>();
                    foreach (var obj in objects)
                    {
                        values.Add(GetObjectAsString(obj, p, valueMap));
                    }

                    return(values.ToArray());
                }

                else
                {
                    return(new String[] { GetObjectAsString(p.Value, p, valueMap) });
                }
            }
        }
コード例 #2
0
        private static String GetObjectAsString(Object obj, PropertyData p, PropertyDataValueMap map)
        {
            if (obj == null)
            {
                return(String.Empty);
            }

            // Is a reference to another management class?
            else if (obj.GetType().IsAssignableFrom(typeof(ManagementBaseObject)))
            {
                // Expand object
                return(((ManagementBaseObject)obj).GetRelativePath());
            }

            else if (p.Type == CimType.DateTime)
            {
                DateTime datetime = ManagementDateTimeConverter.ToDateTime(p.Value.ToString());
                return(datetime.ToString());
            }

            else if (p.Type == CimType.UInt64 && p.Name == "TIME_CREATED")
            {
                Double ms       = ((UInt64)obj) / 10000;
                var    datetime = epoch.AddMilliseconds(ms);
                return(datetime.ToLocalTime().ToString());
            }

            else if (map != null && obj != null && map.ContainsKey(obj.ToString()))
            {
                return(String.Format("{0} ({1})", map[obj.ToString()], obj.ToString()));
            }

            else
            {
                // Plain old string!
                return(obj.ToString());
            }
        }
コード例 #3
0
 public static String GetValueAsString(this PropertyData p, PropertyDataValueMap valueMap)
 {
     return(String.Join(", ", GetValueAsStringArray(p, valueMap)));
 }