예제 #1
0
        public static string GetDescription(this DescriptionAttributeEnum parameter)
        {
            var attributes = (DescriptionAttribute[])parameter.GetType().GetField(parameter.ToString()).GetCustomAttributes(
                typeof(DescriptionAttribute), false);

            return(attributes.Length > 0 ? attributes[0].Description : string.Empty);
        }
예제 #2
0
        public override void Execute()
        {
            var formatProvider = CultureInfo.CurrentCulture;
            var maxIterations  = this.MaxIterations;

            var stringIntArray           = new string[maxIterations];
            var stringDecimalArray       = new string[maxIterations];
            var stringGuidArray          = new string[maxIterations];
            var stringDateTimeArray      = new string[maxIterations];
            var guidArray                = new Guid[maxIterations];
            var intArray                 = new int[maxIterations];
            var decimalArray             = new decimal[maxIterations];
            var doubleArray              = new double[maxIterations];
            var dateTimeArray            = new DateTime[maxIterations];
            var customerArray            = new Customer[maxIterations];
            var customerDtoArray         = new CustomerDto[maxIterations];
            var personArray              = new Person[maxIterations];
            var personStringArray        = new PersonStringDto[maxIterations];
            var addressArray             = new Address[maxIterations];
            var benchSourceArray         = new BenchSource[maxIterations];
            var displayResourceEnumArray = new DisplayAttributeResourceEnum[maxIterations];
            var displayResxEnumArray     = new DisplayAttributeResxEnum[maxIterations];
            var displayEnumArray         = new DisplayAttributeEnum[maxIterations];
            var descriptionEnumArray     = new DescriptionAttributeEnum[maxIterations];
            var int32EnumArray           = new Int32Enum[maxIterations];

            var benchSource = new BenchSource();

            for (int i = 0; i < maxIterations; i++)
            {
                stringIntArray[i]      = i.ToString(formatProvider);
                stringDecimalArray[i]  = (i * 0.9m).ToString(formatProvider);
                stringGuidArray[i]     = Guid.NewGuid().ToString();
                intArray[i]            = i;
                decimalArray[i]        = i * 0.9m;
                doubleArray[i]         = i * 0.9d;
                guidArray[i]           = Guid.NewGuid();
                stringDateTimeArray[i] = DateTime.Now.ToString(formatProvider);
                dateTimeArray[i]       = DateTime.Now;
                personArray[i]         = new Person
                {
                    Id        = Guid.NewGuid(),
                    Name      = "Test Name " + i,
                    Age       = i % 85,
                    Length    = 1.70m + ((i % 20) / 100m),
                    BirthDate = DateTime.Now.AddDays(i)
                };
                personStringArray[i] = new PersonStringDto
                {
                    Id        = Guid.NewGuid().ToString(),
                    Name      = "Test Name " + i,
                    Age       = (i % 85).ToString(CultureInfo.CurrentCulture),
                    Length    = (1.70m + ((i % 20) / 100m)).ToString(CultureInfo.CurrentCulture),
                    BirthDate = DateTime.Now.AddDays(i).ToString(CultureInfo.CurrentCulture)
                };
                customerArray[i]    = CustomerFactory.CreateTestCustomer();
                customerDtoArray[i] = TypeAdapter.Adapt <CustomerDto>(customerArray[i]);
                addressArray[i]     = new Address
                {
                    Id      = i,
                    City    = "Gbg",
                    Country = "Sweden",
                    Street  = "Street 1"
                };
                benchSourceArray[i] = benchSource;

                displayResourceEnumArray[i] = (DisplayAttributeResourceEnum)(i % 4);
                displayResxEnumArray[i]     = (DisplayAttributeResxEnum)(i % 4);
                displayEnumArray[i]         = (DisplayAttributeEnum)(i % 4);
                descriptionEnumArray[i]     = (DescriptionAttributeEnum)(i % 4);
                int32EnumArray[i]           = (Int32Enum)(i % 4);
            }

            // FromString conversions
            //this.ProfileConvert<string, Guid>(stringGuidArray, formatProvider, i => new Guid(stringGuidArray[i]));
            this.ProfileConvert <string, int>(stringIntArray, formatProvider, i => int.Parse(stringIntArray[i], formatProvider));
            //this.ProfileConvert<string, string>(stringIntArray, formatProvider, i => stringIntArray[i].Clone());
            //this.ProfileConvert<string, DateTime>(stringDateTimeArray, formatProvider, i => Convert.ToDateTime(stringDateTimeArray[i]));
            //this.ProfileConvert<string, decimal>(stringDecimalArray, formatProvider, i => StringParser.TryParseDecimal(stringDecimalArray[i], formatProvider));

            //this.ProfileConvert<int, ExampleEnum>(intArray, formatProvider, null);

            //this.ProfileConvert<double, decimal>(doubleArray, formatProvider, i => Convert.ToDecimal(doubleArray[i]));
            //this.ProfileConvert<decimal, double>(decimalArray, formatProvider, i => Convert.ToDouble(decimalArray[i]));
            //this.ProfileConvert<int, string>(intArray, formatProvider, i => intArray[i].ToString(formatProvider));

            /*this.ProfileConvert<int, int>(intArray, formatProvider, i => Convert.ChangeType(i, typeof(int)));
             *
             * this.ProfileConvert<decimal, string>(decimalArray, formatProvider, i => decimalArray[i].ToString(formatProvider));
             *
             * this.ProfileConvert<Guid, string>(guidArray, CultureInfo.CurrentCulture, i => guidArray[i].ToString());
             *
             * this.ProfileConvert<DateTime, string>(dateTimeArray, CultureInfo.CurrentCulture, i => dateTimeArray[i].ToString());
             */
            //this.ProfileConvert<PersonStringDto, Person>(personStringArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<Customer, CustomerDto>(customerArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<CustomerDto, Customer>(customerDtoArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<BenchSource, BenchDestination>(benchSourceArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<Address, AddressDto>(addressArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<Person, PersonStringDto>(personArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<Person, PersonDto>(personArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<Person, PersonStruct>(personArray, CultureInfo.CurrentCulture, null);

            //this.ProfileConvert<int, decimal>(intArray, formatProvider, i => Convert.ToDecimal(intArray[i], formatProvider));

            /*
             * this.ProfileConvert<DisplayAttributeResourceEnum, string>(displayResourceEnumArray, CultureInfo.CurrentCulture, null);
             * this.ProfileConvert<DisplayAttributeResxEnum, string>(displayResxEnumArray, CultureInfo.CurrentCulture, null);
             * this.ProfileConvert<DisplayAttributeEnum, string>(displayEnumArray, CultureInfo.CurrentCulture, null);
             * this.ProfileConvert<DescriptionAttributeEnum, string>(descriptionEnumArray, CultureInfo.CurrentCulture, null);
             * this.ProfileConvert<Int32Enum, string>(int32EnumArray, CultureInfo.CurrentCulture, null);
             */
        }