Example #1
0
        internal static DataTypeCategory FromId(AdsDatatypeId id, string typeName)
        {
            DataTypeCategory pointer = FromId(id);

            if (!string.IsNullOrEmpty(typeName) && (pointer == DataTypeCategory.Unknown))
            {
                if (DataTypeStringParser.IsPointer(typeName))
                {
                    pointer = DataTypeCategory.Pointer;
                }
                else if (DataTypeStringParser.IsReference(typeName))
                {
                    pointer = DataTypeCategory.Reference;
                }
                else if (DataTypeStringParser.IsArray(typeName))
                {
                    pointer = DataTypeCategory.Array;
                }
                else if (DataTypeStringParser.IsSubRange(typeName))
                {
                    pointer = DataTypeCategory.SubRange;
                }
                else if (DataTypeStringParser.IsIntrinsicType(typeName))
                {
                    pointer = DataTypeCategory.Primitive;
                }
                else if (DataTypeStringParser.IsString(typeName))
                {
                    pointer = DataTypeCategory.String;
                }
            }
            return(pointer);
        }