public static NodeId GetDataTypeId(short input)
{
switch ((VarEnum)Enum.ToObject(typeof(VarEnum), (input & ~(short)VarEnum.VT_ARRAY)))
{
case VarEnum.VT_I1: return DataTypes.SByte;
case VarEnum.VT_UI1: return DataTypes.Byte;
case VarEnum.VT_I2: return DataTypes.Int16;
case VarEnum.VT_UI2: return DataTypes.UInt16;
case VarEnum.VT_I4: return DataTypes.Int32;
case VarEnum.VT_UI4: return DataTypes.UInt32;
case VarEnum.VT_I8: return DataTypes.Int64;
case VarEnum.VT_UI8: return DataTypes.UInt64;
case VarEnum.VT_R4: return DataTypes.Float;
case VarEnum.VT_R8: return DataTypes.Double;
case VarEnum.VT_BOOL: return DataTypes.Boolean;
case VarEnum.VT_DATE: return DataTypes.DateTime;
case VarEnum.VT_BSTR: return DataTypes.String;
case VarEnum.VT_CY: return DataTypes.String;
case VarEnum.VT_EMPTY: return DataTypes.BaseDataType;
case VarEnum.VT_VARIANT:
{
return DataTypes.BaseDataType;
}
}
return NodeId.Null;
}