Opc.Ua.MethodState.ValidateInputArgument C# (CSharp) 메소드

ValidateInputArgument() 보호된 메소드

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.
리턴 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;
        }