コード例 #1
0
 public virtual int Get_(string wszName, int lFlags, out object pVal, out int pType, out int plFlavor)
 {
     pVal = _handler.GetProperty(wszName);
     if (pVal == null)
     {
         var info = _handler.PropertyInfos.FirstOrDefault(x => x.Name == wszName);
         if (string.IsNullOrEmpty(info.Name))
         {
             pType = (int)CimType.Object;
         }
         else
         {
             pType = (int)info.Type;
         }
     }
     else if (pVal.GetType() == typeof(object))
     {
         pType = (int)CimType.String;
     }
     else
     {
         pType = CimTypeConverter.GetMiType(pVal.GetType());
     }
     plFlavor = 0;
     return(0);
 }
コード例 #2
0
 public static int GetMiType(Type type)
 {
     if (type.IsArray)
     {
         return(0x2000);
     }
     return((int)CimTypeConverter.GetCimType(type));
 }
コード例 #3
0
        internal static CimType GetCimTypeFromDotNetValueOrThrowAnException(object dotNetValue)
        {
            CimType cimTypeFromDotNetValue = CimTypeConverter.GetCimTypeFromDotNetValue(dotNetValue);

            if (cimTypeFromDotNetValue != CimType.None)
            {
                return(cimTypeFromDotNetValue);
            }
            else
            {
                throw new ArgumentException("DotNetValueToCimTypeConversionNotPossible");
            }
        }
コード例 #4
0
        private static CimType GetCimTypeFromDotNetValue(object dotNetValue)
        {
            if (dotNetValue != null)
            {
                CimType cimType = CimTypeConverter.GetCimType(dotNetValue.GetType());
                if (cimType != CimType.None)
                {
                    return(cimType);
                }
            }

            return(CimType.None);
        }
コード例 #5
0
 static CimTypeConverter()
 {
     CimTypeConverter.InitializeDotNetTypeToCimTypeDictionaries();
 }