Mercurial > pub > bltoolkit
view Source/Reflection/ObjectFactoryAttribute.cs @ 9:1e85f66cf767 default tip
update bltoolkit
author | nickolay |
---|---|
date | Thu, 05 Apr 2018 20:53:26 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Diagnostics.CodeAnalysis; namespace BLToolkit.Reflection { [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] public class ObjectFactoryAttribute : Attribute { public ObjectFactoryAttribute(Type type) { if (type == null) throw new ArgumentNullException("type"); _objectFactory = Activator.CreateInstance(type) as IObjectFactory; if (_objectFactory == null) throw new ArgumentException( string.Format("Type '{0}' does not implement IObjectFactory interface.", type)); } private readonly IObjectFactory _objectFactory; public IObjectFactory ObjectFactory { get { return _objectFactory; } } } }