using System; using Chernobyl.Collections.Generic.Event; namespace Chernobyl.Reflection.Template.Attribution { /// /// Information that can be used to attribute an instance or member. /// public interface IAttribute : IComponent { /// /// The value of this attribute. /// string Value { get; } } /// /// A default representation of an attribute. /// public class Attribute : Component, IAttribute { /// /// Constructor. /// /// The services instance to use when injecting /// or receiving dependencies from created instances. /// The namespace or prefix of this attribute. /// The name of this attribute. /// The value of this attribute. public Attribute(IEventCollection services, string prefix, string name, string value) : base(services, prefix, name) { Value = value; } /// /// The value of this attribute. /// public string Value { get; protected set; } /// /// The name of this component which can be used to generate code for /// this component. This property is currently not implemented for this /// class. /// public override string CodeName { get { throw new NotImplementedException(); } } } }