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; }
+		}
+	}
+}