Business Logic Toolkit for .NET
www.bltoolkit.net
|  Home   |  Download   |  Documentation   |  Discussions   |  License   |

  Source.TypeBuilder.ParameterAttribute.cs

 
using System;
using System.Diagnostics.CodeAnalysis;

namespace BLToolkit.TypeBuilder
{
    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
    [AttributeUsage(AttributeTargets.Property)]
    public class ParameterAttribute : Attribute
    {
        protected ParameterAttribute()
        {
            SetParameters();
        }

        public ParameterAttribute(object parameter1)
        {
            SetParameters(parameter1);
        }

        public ParameterAttribute(
            object parameter1,
            object parameter2)
        {
            SetParameters(parameter1, parameter2);
        }

        public ParameterAttribute(
            object parameter1,
            object parameter2,
            object parameter3)
        {
            SetParameters(parameter1, parameter2, parameter3);
        }

        public ParameterAttribute(
            object parameter1,
            object parameter2,
            object parameter3,
            object parameter4)
        {
            SetParameters(parameter1, parameter2, parameter3, parameter4);
        }
        
        public ParameterAttribute(
            object parameter1,
            object parameter2,
            object parameter3,
            object parameter4,
            object parameter5)
        {
            SetParameters(parameter1, parameter2, parameter3, parameter4, parameter5);
        }

        protected void SetParameters(params object[] parameters)
        {
            _parameters = parameters;
        }

        private object[] _parameters;
        public  object[]  Parameters
        {
            get { return _parameters;  }
        }
    }
}
 
© 2010 www.bltoolkit.net
support@bltoolkit.net