Opc.Ua.MethodState.ValidateInputArgument C# (CSharp) Method

ValidateInputArgument() protected method

Validates the input argument.
protected ValidateInputArgument ( ISystemContext context, Variant inputArgument, int index ) : ServiceResult
context ISystemContext The context to use.
inputArgument Variant The input argument.
index int The index in the the list of input argument.
return ServiceResult
        protected ServiceResult ValidateInputArgument(
            ISystemContext context,
            Variant inputArgument,
            int index)
        {
            if (InputArguments == null)
            {
                return StatusCodes.BadInvalidArgument;
            }

            IList<Argument> arguments = InputArguments.Value;

            if (arguments == null || index < 0 || index >= arguments.Count)
            {
                return StatusCodes.BadInvalidArgument;
            }

            Argument expectedArgument = arguments[index];

            TypeInfo typeInfo = TypeInfo.IsInstanceOfDataType(
                inputArgument.Value,
                expectedArgument.DataType,
                expectedArgument.ValueRank,
                context.NamespaceUris,
                context.TypeTable);

            if (typeInfo == null)
            {
                return StatusCodes.BadTypeMismatch;
            }

            return ServiceResult.Good;
        }