/// <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; }
private static IBytesConverter GetBytesConverter(BytesConverterConfig cfg) { Soft soft = SoftManager.GetSoft(); BytesConverterManager bcm = soft.BytesConverterManager; IBytesConverter bc = bcm.CreateBytesConverter(cfg); return bc; }