Opc.Ua.XmlEncoder.WriteEnumeratedArray C# (CSharp) Method

WriteEnumeratedArray() public method

Writes an enumerated value array to the stream.
public WriteEnumeratedArray ( string fieldName, Array values, System systemType ) : void
fieldName string
values System.Array
systemType System
return void
        public void WriteEnumeratedArray(string fieldName, Array values, System.Type systemType)
        { 
            if (BeginField(fieldName, values == null, true))
            {
                // check the length.
                if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Length)
                {
                    throw new ServiceResultException(StatusCodes.BadEncodingLimitsExceeded);
                }

                // get name for type being encoded.
                XmlQualifiedName xmlName = EncodeableFactory.GetXmlName(systemType);

                if (xmlName == null)
                {
                    xmlName = new XmlQualifiedName("Enumerated", Namespaces.OpcUaXsd);
                }
                
                PushNamespace(xmlName.Namespace);

                if (values != null)
                {
                    // encode each element in the array.
                    foreach (Enum value in values)
                    {
                        WriteEnumerated(xmlName.Name, value);
                    }
                }

                PopNamespace();

                EndField(fieldName);
            }
        }
        #endregion