using System;
using System.Xml.Serialization;
using Unity.Lifetime;
using Unity.Registration;
namespace Implab.ServiceHost.Unity
{
public abstract class AbstractRegistration : ContainerItemElement {
///
/// An optional name for a registration in the container
///
[XmlAttribute("name")]
public string Name {
get; set;
}
[XmlElement("signleton", typeof(SimgletonLifetimeElement))]
[XmlElement("context", typeof(ContextLifetimeElement))]
[XmlElement("container", typeof(ContainerLifetimeElement))]
[XmlElement("hierarchy", typeof(HierarchicalLifetimeElement))]
public LifetimeElement Lifetime {get; set;}
///
/// A type specification for the service registration,
///
[XmlAttribute("type")]
public string RegistrationType { get; set; }
public virtual Type ResolveRegistrationType(ContainerContext ctx) {
return ctx.Resolve(RegistrationType);
}
}
}