反射调用函数带func委托参数的问题

问题描述

classClsTest{publicvoidTest<TFirst,TSecond,TReturn>(Func<TFirst,TSecond,TReturn>map){//....}}publicstaticvoidTest_Test(){ClsTesttest=newClsTest();//call1test.Test<int,int,int>((a,b)=>{returna+b;});//call2MethodInfomethodTest=test.GetType().GetMethod("Test").MakeGenericMethod(typeof(int),typeof(int),typeof(int));ArrayListplist=newArrayList();plist.Add(?);//这里methodTest.Invoke(test,plist.ToArray());}请问问号处要怎么写call2部分代码才能实现call1相同功能

解决方案

解决方案二:
methodTest.MakeGenericMethod(newType[]{int,int,int}).Invoke(newFunc<int,int,int>(...))
解决方案三:
plist.Add((Func<int,int,int>)((a,b)=>{returna+b;}));//这里

解决方案四:
plist.Add(newFunc<int,int,int>((x,y)=>x+y));
解决方案五:
引用2楼Forty2的回复:

plist.Add((Func<int,int,int>)((a,b)=>{returna+b;}));//这里

+1

时间: 2024-09-11 07:45:35

反射调用函数带func委托参数的问题的相关文章

《R语言编程艺术》——3.3 对矩阵的行和列调用函数

3.3 对矩阵的行和列调用函数 *apply()函数系列是R中最受欢迎同时也是最常用的,该函数系列包括apply().tapply()和lapply().这里我们主要介绍apply().apply()函数允许用户在矩阵的各行或各列上调用指定的函数.3.3.1 使用apply()函数以下是apply()函数的一般形式: 参数解释如下:m 是一个矩阵.dimcode 是维度编号,若取值为1代表对每一行应用函数,若取值为2代表对每一列应用函数.f是应用在行或列上的函数.fargs是f的可选参数集.例如

关于c#调用c++ 带指针参数回调函数的问题,求大神帮忙

问题描述 C++函数原型:longSTDCALLIPCNET_StartRealData(longlLoginID,S_REALDATA_INFO*pRealDataInfo,CBRealDatafRealData,Void*pUserData=NULL)参数说明:lLoginIDlong登陆的ID,IPCNET_Login的返回值sRealDataInfoS_REALDATA_INFO*实时数据流的参数结构体fRealDataCBRealData码流数据回调函数,参见CBRealData回调函

请教如何通过反射调用delegate函数

问题描述 怎样通过反射调用另一个程序中的delegate函数(没有源码) 解决方案 解决方案二:这是一个类型,你需要一个实例,然后直接调用就可以了解决方案三:引用1楼sbwwkmyd的回复: 这是一个类型,你需要一个实例,然后直接调用就可以了 我是C#新手,请教下JumpDelegate中的Invoke函数要咋整?Assemblyass=Assembly.LoadFrom(@"C:\ProgramFiles\RecordTS\RtsPlayer.exe");Type[]aa=ass.G

jsp-请问 oracler如何调用一个带参数的JSP网页,

问题描述 请问 oracler如何调用一个带参数的JSP网页, 请问 oracler如何调用一个带参数的JSP网页, 请问 oracler如何调用一个带参数的JSP网页, 请问 oracler如何调用一个带参数的JSP网页, 解决方案 有没有人知道啊,帮忙看看,我们想用在过程里执行一个网页,并且带参数 解决方案二: 通过如下代码调用一支网页程序,执行网页的时候在本机的TOMCAT服务器是有这一 串'con1='||P_CARRYS_NO||'& carrys_cat='||P_CARRYS_CA

main函数带参数C程序设计模板

/* 一个main含参程序的C语言设计模板,只需在结构体初始化中输入各个参数的性质及内容,就可以自动将参数分拣入结构体中. 命令执行方式如: 程序名 -a 参数1 -b 参数2 程序名 -?[-h] */ #include "stdafx.h" #define MAX_PARA 6 struct parameter { int ID;//参数编号 int content_num;//本参数后带的选项数目 bool IShave_prefix;//暂只接受必须使用-xx之类的参数前缀.

php-PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串

问题描述 PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串 $result = $sap->callFunction( "XXX", array( array( "IMPORT", "I_ZCZLX", "1" ), array( "IMPORT", "I_WRITER", "MAO" ), array( "IMPORT&quo

delphi 函数指针 参数-delphi使用函数指针调用函数第一个参数不能获取。

问题描述 delphi使用函数指针调用函数第一个参数不能获取. 完整代码如下所示,定义了一个函数指针类型TFunctiontest = function (const a:integer; const b:integer; const c:integer): integer; 然后定义了一个指针变量.再定义了一个函数function functiona(const a :integer; const b:integer;const c:integer):integer;并将该函数的地址赋值给函数

Opencv 调用自带的人脸识别还是函数createLBPHFaceRecognizer问题

问题描述 Opencv 调用自带的人脸识别还是函数createLBPHFaceRecognizer问题 Opencv 调用自带的人脸识别还是函数createLBPHFaceRecognizer问题, images.push_back(imread("H:\4\20.jpg", CV_LOAD_IMAGE_GRAYSCALE)); //CV_LOAD_IMAGE_GRAYSCALE labels.push_back(0); images.push_back(imread("H:

printf-主函数带参数的作用?下面的程序为什么没办法实现输入信息?

问题描述 主函数带参数的作用?下面的程序为什么没办法实现输入信息? #include void main(int argc,char *argv) { while(argc-->1) printf("%sn", * ++argv); } 上面的程序是在c语言课本上看的.课本上是能先输入信息的.而我运行时是没法实现输入信息的,为什么?(难道是课本错了吗) 解决方案 另外,argc是程序运行前附加的参数,可不是程序运行后才输入的东西. 解决方案二: 你用我的代码,编译,然后在控制台上