关于泛型方法的反射

原创 2013年12月03日 10:45:07

        在c# 中,有时候需要用到反射区调用带有泛型的方法。如例子:


public string CheckReflection<T>(string propertyName, T propertyValue) where T : struct

        {
            throw new InvalidOperationException(string.Format("Property {0} is not supported.", propertyName));

        }

在调用这个方法的时候,需要System.Reflection.MethodInfo 和Activator

      如下方法




        private string CallByReflection(
            object scanProcedure,          // scanProcedure 是你要反射对象的实例
            string propertyName,             // 参数一
            object propertyValue)        // 参数二
        {
            Type type = scanProcedure.GetType(); 
            object reflectTest = Activator.CreateInstance(type);
            // Just for simplicity, assume it's public etc
            MethodInfo method = typeof(反射的className).GetMethod("方法名");     //调用方法
            MethodInfo generic = method.MakeGenericMethod(propertyValue.GetType());
            return (string)generic.Invoke(reflectTest, new object[] { propertyName, propertyValue });
        }

如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??

如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法?
  • phker
  • phker
  • 2016年06月21日 08:37
  • 1131

C# 反射调用带参数的重载的泛型方法

C# 反射调用带参数的重载的泛型方法。 以及调用时抛出:不能对 ContainsGenericParameters 为 True 的类型或方法执行后期绑定操作异常的解决办法。 话不多说,上代码!...
  • CommandBaby
  • CommandBaby
  • 2016年04月29日 10:28
  • 2826

利用反射操作泛型

反射+泛型相关的接口类型概述 (1). 和反射+泛型有关的接口类型 java.lang.reflect.Type:java语言中所有类型的公共父接口java.lang.reflect.Paramet...
  • kobejayandy
  • kobejayandy
  • 2013年09月15日 16:20
  • 5659

如何通过反射调用类中的<泛型>方法

定义的接口: namespace IProgramShut { public interface IShut { /// /// 操作名称 ...
  • yan_hyz
  • yan_hyz
  • 2015年06月16日 22:41
  • 7014

Java进阶之reflection(反射机制)——通过反射操作泛型,注解

上篇文章我介绍了Java反射的基本知识,如果没看过的同学可以去看我的上一篇文章 反射概念与基础 ,今天这篇文章主要介绍一下反射地具体应用实例,分别是通过Java反射操作泛型,和反射操作注解(不了解”注...
  • xu__cg
  • xu__cg
  • 2016年10月21日 12:10
  • 3554

java泛型与反射结合

什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一...
  • y943623901
  • y943623901
  • 2014年07月03日 22:13
  • 1856

java异常、泛型和反射

(1)异常 异常的概念:所谓异常是指程序在运行过程中发生的一些不正常事件。(如:除0溢出,数组下标越界,所读取的文件不存在) 异常导致的结果:java程序的执行过程中如出现异常事件,可以生成一个异常类...
  • Bubble1210
  • Bubble1210
  • 2016年03月01日 21:29
  • 619

C# ORM中反射与泛型的交叉应用 - 动态创建泛型实例并为其赋值

好久没有写文章了,终于找到工作,抽空写一下冒个泡。问题最近遇到一个这样 ORM 的问题,一个返回类型为 List 泛型方法中,需要做到根据条件访问数据库,并且把得到的结果存入 List 中返回。由于...
  • qq_21265915
  • qq_21265915
  • 2017年07月19日 09:14
  • 620

java反射机制获取泛型参数类型

package com.dasenlin.reflectionconstractor;import java.lang.reflect.Method; import java.lang.reflect...
  • rentian1
  • rentian1
  • 2016年10月25日 10:48
  • 1854

java 通过反射获取泛型的类型

获取几种形式泛型的Class类型: ClassA类: import java.lang.reflect.ParameterizedType; import java.lang.reflect.T...
  • xiaozaq
  • xiaozaq
  • 2016年08月26日 16:25
  • 9025
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于泛型方法的反射
举报原因:
原因补充:

(最多只允许输入30个字)