Mercurial > pub > bltoolkit
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); } + } + } +}