Mercurial > pub > bltoolkit
diff Source/Mapping/ObjectMapperAttribute.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Source/Mapping/ObjectMapperAttribute.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,25 @@ +using System; + +namespace BLToolkit.Mapping +{ + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] + public sealed class ObjectMapperAttribute : Attribute + { + public ObjectMapperAttribute(Type objectMapperType) + { + if (objectMapperType == null) throw new ArgumentNullException("objectMapperType"); + + _objectMapper = Activator.CreateInstance(objectMapperType) as ObjectMapper; + + if (_objectMapper == null) + throw new ArgumentException( + string.Format("Type '{0}' does not implement IObjectMapper interface.", objectMapperType)); + } + + private readonly ObjectMapper _objectMapper; + public ObjectMapper ObjectMapper + { + get { return _objectMapper; } + } + } +}