Mercurial > pub > ImplabNet
view Implab.ServiceHost/Unity/SerializedElement.cs @ 274:22629bf26121 v3
Unity xml configuration, alpha2
author | cin |
---|---|
date | Fri, 27 Apr 2018 04:47:52 +0300 |
parents | 79110a16cab7 |
children | 6fefd5811b9b |
line wrap: on
line source
using System; using System.Xml; using System.Xml.Serialization; namespace Implab.ServiceHost.Unity { public class SerializedElement : AbstractRegistration, ISerializedValue { [XmlAttribute("href")] public string Location { get; set; } [XmlAttribute("serializedType")] public string SerializedType { get; set; } [XmlAnyElement] public XmlElement[] Content { get; set; } string ISerializedValue.TypeName { get { return string.IsNullOrEmpty(SerializedType) ? RegistrationType : SerializedType; } } public override void Visit(ContainerBuilder context) { context.Visit(this); } public XmlReader GetReader() { if (!string.IsNullOrEmpty(Location)) return XmlReader.Create(Location); if (Content != null && Content.Length > 0) return Content[0].CreateNavigator().ReadSubtree(); throw new Exception("No content found, expected XML document"); } } }