Opc.Ua.ContentFilter.DoImplicitConversion C# (CSharp) Method

DoImplicitConversion() private static method

Implicitly converts the values according to their data type precedence.
private static DoImplicitConversion ( object &value1, object &value2 ) : void
value1 object
value2 object
return void
        private static void DoImplicitConversion(ref object value1, ref object value2)
        {
            BuiltInType type1 = GetBuiltInType(value1);
            BuiltInType type2 = GetBuiltInType(value2);

            int precedence1 = GetDataTypePrecedence(type1);
            int precedence2 = GetDataTypePrecedence(type2);

            // nothing to do if already the same.
            if (precedence1 == precedence2)
            {
                return;
            }

            // convert to the value with higher precedence.
            if (precedence1 > precedence2)
            {
                value2 = Cast(value2, type2, type1);
            }
            else
            {
                value1 = Cast(value1, type1, type2);
            }
        }