##// END OF EJS Templates
Refactoring...
Refactoring Added <array> element to injection parameters Working on registrations of factories

File last commit:

r277:963b17c275be v3
r277:963b17c275be v3
Show More
SerializedParameterElement.cs
32 lines | 1.0 KiB | text/x-csharp | CSharpLexer
/ Implab.ServiceHost / Unity / SerializedParameterElement.cs
cin
Unity xml configuration, alpha2
r274 using System;
cin
Working on Unity xml configuration
r271 using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
cin
Working on Unity container xml configuration
r270 namespace Implab.ServiceHost.Unity
{
cin
Refactoring...
r277 public class SerializedParameterElement : InjectionParameterElement {
cin
Working on Unity xml configuration: Refactoring in progress
r273 [XmlAttribute("href")]
public string Location { get; set; }
cin
Working on Unity xml configuration
r271
[XmlAnyElement]
public XmlElement[] Content { get; set; }
cin
preview version of Unity xml configuration
r272
cin
Unity xml configuration, alpha2
r274 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");
}
cin
refactoring
r275 public override void Visit(InjectionValueBuilder builder) {
cin
Refactoring...
r277 var type = builder.ResolveInjectedValueType(TypeName);
var serializer = new XmlSerializer(type);
using(var reader = GetReader())
builder.SetValue(type, serializer.Deserialize(reader));
cin
preview version of Unity xml configuration
r272 }
cin
Working on Unity container xml configuration
r270 }
}