利用传入的Type类型来调用范型方法的解决方案

简介:

起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每个使用这个GridView控件时绑定数据。如果你没看懂这个起因也没关系,我们用一段代码来描述一下问题:
我希望使用的是从外边传过来的类型tt来调用test1范型方法

复制代码
class  Program 
    { 
        
static   void  Main( string [] args) 
        { 
            MyClass m 
=   new  MyClass(); 
            m.tt 
=   typeof (Program); 
            m.test2(); 
        } 
        

    } 

    
class  MyClass 
    { 
        
public  Type tt {  get set ; } 
        
public   int  userid {  get set ; } 
        
public   string  Name {  get set ; } 
        
public   string  test2() 
        { 
          
//  test1 <T>(); 
          我希望使用的是从外边传过来的类型tt来调用test1范型方法 
        } 
        
public   string  test1  < T > () 
        { 
            
return   typeof (T).ToString(); 
        } 
        
    }
复制代码

 

解决方案:

复制代码
class  MyClass
    {
        
public  Type tt {  get set ; }
        
public   int  userid {  get set ; }
        
public   string  Name {  get set ; }
        
public   string  test2() 
        { 
            
object  result  =   typeof (MyClass).GetMethod( " test1 " ).
                MakeGenericMethod(tt).Invoke(
this null );
            
return  result.ToString();
        }
        
public   string  test1 < T > ()
        {
            
return   typeof (T).ToString();
        }

    }
复制代码
相关文章
|
5月前
|
存储 Java
Java中带返回值方法的定义与调用技术
Java中带返回值方法的定义与调用技术
79 1
|
5月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
76 0
|
5月前
|
JavaScript 前端开发 编译器
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
65 0
|
5月前
自定义封装一个方法让这个方法可以判断所有的数据类型并返回
自定义封装一个方法让这个方法可以判断所有的数据类型并返回
35 0
|
11月前
|
C语言
C中的数据类型封装机制—void万能类型
C中的数据类型封装机制—void万能类型
50 0
|
小程序 前端开发 数据库
小程序__01--后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
|
测试技术 Android开发
怎么知道方法的参数有哪些类型呢?
怎么知道方法的参数有哪些类型呢?
208 0
|
存储 程序员 Go
Go基础:接口类型、接口嵌套、空接口、类型判断
Go基础:接口类型、接口嵌套、空接口、类型判断
223 0
Go基础:接口类型、接口嵌套、空接口、类型判断
|
存储 Java
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
439 0
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
|
Go Scala iOS开发
关于面向对象设计中类的方法是否应该使用boolean类型的参数
关于面向对象设计中类的方法是否应该使用boolean类型的参数
关于面向对象设计中类的方法是否应该使用boolean类型的参数