comparison Implab.ServiceHost/Unity/ValueParameterElement.cs @ 277:963b17c275be v3

Refactoring Added <array> element to injection parameters Working on registrations of factories
author cin
date Sat, 28 Apr 2018 18:48:09 +0300
parents 6fefd5811b9b
children 6691aff01de1
comparison
equal deleted inserted replaced
276:b4e0f81c7425 277:963b17c275be
1 using System.ComponentModel;
1 using System.Xml.Serialization; 2 using System.Xml.Serialization;
2 3
3 namespace Implab.ServiceHost.Unity { 4 namespace Implab.ServiceHost.Unity {
4 public class ValueParameterElement : InjectionParameterElement, ITextValue { 5 public class ValueParameterElement : InjectionParameterElement {
5 [XmlText]
6 [XmlAttribute("value")] 6 [XmlAttribute("value")]
7 public string Value { get; set; } 7 public string Value { get; set; }
8 8
9 [XmlText]
10 public string Text { get; set; }
11
12 string GetTextValue() {
13 return string.IsNullOrEmpty(Value) ? Text : Value;
14 }
15
9 public override void Visit(InjectionValueBuilder builder) { 16 public override void Visit(InjectionValueBuilder builder) {
10 builder.Visit(this); 17 var type = builder.ResolveInjectedValueType(TypeName);
18 builder.SetValue(type, TypeDescriptor.GetConverter(type).ConvertFromString(GetTextValue()));
11 } 19 }
12 } 20 }
13 } 21 }