コード例 #1
0
        public void CreateGenericMethodFunc_FuncWithOneGenericParameters_CallSucceeded()
        {
            const int value = 1234;

            var instance = new GenericMethodTestClass();

            var func = instance.CreateGenericMethodFunc <int, string>(nameof(GenericMethodTestClass.GetDataText), new [] { typeof(int) }, typeof(int));

            var result = func(value);

            Assert.Equal(value.ToString(), result);
        }
コード例 #2
0
        public void CreateGenericMethodFunc_FuncWithTwoGenericParameters_CallSucceeded()
        {
            const int value       = 1234;
            var       dateTimeNow = DateTime.Now;

            var instance = new GenericMethodTestClass();

            var func = instance.CreateGenericMethodFunc <int, DateTime, string>(nameof(GenericMethodTestClass.GetData),
                                                                                new[] { typeof(int), typeof(DateTime) }, typeof(int), typeof(DateTime));

            var result = func(value, dateTimeNow);

            Assert.Equal(value.ToString() + dateTimeNow, result);
        }
コード例 #3
0
        public void CreateGenericMethodFunc_NoneGenericFunc_CallSucceeded()
        {
            const int value       = 1234;
            var       dateTimeNow = DateTime.Now;

            var instance = new GenericMethodTestClass();

            var func = instance.CreateGenericMethodFunc <string>(nameof(GenericMethodTestClass.GetData),
                                                                 new [] { typeof(int), typeof(DateTime) }, typeof(int), typeof(DateTime));

            var result = func(new object[] { value, dateTimeNow });

            Assert.Equal(value.ToString() + dateTimeNow, result);
        }
コード例 #4
0
        public void CreateGenericMethodFunc_FuncWithFourGenericParameters_CallSucceeded()
        {
            const int    value       = 1234;
            var          dateTimeNow = DateTime.Now;
            const bool   boolValue   = true;
            const double doubleValue = 123.456;

            var instance = new GenericMethodTestClass();

            var func = instance.CreateGenericMethodFunc <int, DateTime, bool, double, string>(
                nameof(GenericMethodTestClass.GetData4), new[] { typeof(int), typeof(DateTime), typeof(bool), typeof(double) },
                typeof(int), typeof(DateTime), typeof(bool), typeof(double));

            var result = func(value, dateTimeNow, boolValue, doubleValue);

            Assert.Equal(value.ToString() + dateTimeNow + boolValue + doubleValue, result);
        }