public static VarEnum GetVarType(System.Type type)
{
if (type == null)
{
return VarEnum.VT_EMPTY;
}
if (type == null) return VarEnum.VT_EMPTY;
if (type == typeof(sbyte)) return VarEnum.VT_I1;
if (type == typeof(byte)) return VarEnum.VT_UI1;
if (type == typeof(short)) return VarEnum.VT_I2;
if (type == typeof(ushort)) return VarEnum.VT_UI2;
if (type == typeof(int)) return VarEnum.VT_I4;
if (type == typeof(uint)) return VarEnum.VT_UI4;
if (type == typeof(long)) return VarEnum.VT_I8;
if (type == typeof(ulong)) return VarEnum.VT_UI8;
if (type == typeof(float)) return VarEnum.VT_R4;
if (type == typeof(double)) return VarEnum.VT_R8;
if (type == typeof(decimal)) return VarEnum.VT_CY;
if (type == typeof(bool)) return VarEnum.VT_BOOL;
if (type == typeof(DateTime)) return VarEnum.VT_DATE;
if (type == typeof(string)) return VarEnum.VT_BSTR;
if (type == typeof(sbyte[])) return VarEnum.VT_ARRAY | VarEnum.VT_I1;
if (type == typeof(byte[])) return VarEnum.VT_ARRAY | VarEnum.VT_UI1;
if (type == typeof(short[])) return VarEnum.VT_ARRAY | VarEnum.VT_I2;
if (type == typeof(ushort[])) return VarEnum.VT_ARRAY | VarEnum.VT_UI2;
if (type == typeof(int[])) return VarEnum.VT_ARRAY | VarEnum.VT_I4;
if (type == typeof(uint[])) return VarEnum.VT_ARRAY | VarEnum.VT_UI4;
if (type == typeof(long[])) return VarEnum.VT_ARRAY | VarEnum.VT_I8;
if (type == typeof(ulong[])) return VarEnum.VT_ARRAY | VarEnum.VT_UI8;
if (type == typeof(float[])) return VarEnum.VT_ARRAY | VarEnum.VT_R4;
if (type == typeof(double[])) return VarEnum.VT_ARRAY | VarEnum.VT_R8;
if (type == typeof(decimal[])) return VarEnum.VT_ARRAY | VarEnum.VT_CY;
if (type == typeof(bool[])) return VarEnum.VT_ARRAY | VarEnum.VT_BOOL;
if (type == typeof(DateTime[])) return VarEnum.VT_ARRAY | VarEnum.VT_DATE;
if (type == typeof(string[])) return VarEnum.VT_ARRAY | VarEnum.VT_BSTR;
if (type == typeof(object[])) return VarEnum.VT_ARRAY | VarEnum.VT_VARIANT;
return VarEnum.VT_EMPTY;
}