diff Source/TypeBuilder/LazyInstancesAttribute.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/TypeBuilder/LazyInstancesAttribute.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,44 @@
+using System;
+using System.Diagnostics.CodeAnalysis;
+
+namespace BLToolkit.TypeBuilder
+{
+	[SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
+	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)]
+	public class LazyInstancesAttribute : Attribute
+	{
+		public LazyInstancesAttribute()
+		{
+		}
+
+		public LazyInstancesAttribute(Type type)
+		{
+			_type = type;
+		}
+
+		public LazyInstancesAttribute(bool isLazy)
+		{
+			_isLazy = isLazy;
+		}
+
+		public LazyInstancesAttribute(Type type, bool isLazy)
+		{
+			_type   = type;
+			_isLazy = isLazy;
+		}
+
+		private bool _isLazy = true;
+		public  bool  IsLazy
+		{
+			get { return _isLazy;  }
+			set { _isLazy = value; }
+		}
+
+		private Type _type = typeof(object);
+		public  Type  Type
+		{
+			get { return _type; }
+			set { _type = value ?? typeof(object); }
+		}
+	}
+}