示例#1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataFieldNode"></param>
        /// <returns></returns>
        private static BytesConverterConfig CreateBytesConverterConfig(XmlNode bytesConverterNode)
        {
            BytesConverterConfig r = new BytesConverterConfig();
            string name = GetAttribute((XmlElement)bytesConverterNode, DeviceDefineNodeNames.Name,false );

            //
            //
            string str = GetAttribute((XmlElement)bytesConverterNode, DeviceDefineNodeNames.HasInner, true);
            bool hasInner = false;
            if (str != null && str.Length > 0)
            {
                hasInner = Convert.ToBoolean(str);
            }

            r.Name = name;
            r.HasInner = hasInner;

            r.Propertys = GetPropertys(bytesConverterNode);
            if (hasInner)
            {
                XmlNode innerNode = bytesConverterNode.SelectSingleNode(DeviceDefineNodeNames.BytesConverter);
                if (innerNode == null)
                {
                    string s = string.Format("has not inner bytesConverter");
                    throw new InvalidOperationException(s);
                }
                r.InnerBytesConverterConfig = CreateBytesConverterConfig(innerNode);
            }
            return r;
        }
示例#2
0
 private static IBytesConverter GetBytesConverter(BytesConverterConfig cfg)
 {
     Soft soft = SoftManager.GetSoft();
     BytesConverterManager bcm = soft.BytesConverterManager;
     IBytesConverter bc = bcm.CreateBytesConverter(cfg);
     return bc;
 }