首页 > 其他分享 >泛型委托 Action、Func

泛型委托 Action、Func

时间:2024-03-19 11:12:25浏览次数:18  
标签:Console 委托 Action sayHello static Func 泛型

委托在使用的时候有三个步骤: 1、定义委托 2、实例化委托 3、执行委托 每次使用委托,我们都需要定义委托,非常麻烦。

C#已经内置了一些委托给我们使用,无需再重新定义。

一、Action委托 (无返回委托)

1、Action 无参无返回

2、Action 一个参数

3、Action<T1,,,,,,,,,,,,T16> 最多支持16个参数

二、Func委托 (有返回的委托)

1、Func 无参有返

2、Func<T1,Out> 一个参数,有返

3、Func<T1,,,,,,,,,,Out> 最多支持16个参数,有返

 

static void Main(string[] args)
{
    //无参无返调用
    Action action = sayHello;
    action();
    //有参无返调用
    Action<string> action2 = sayHello;
    action2.Invoke("hahah ");

    //有参有返调用
    Func<int,int,int> func = Add;
    Console.WriteLine(func(23, 21));
}

static void sayHello()
{
    Console.WriteLine("你好");
}

static void sayHello(string str) {
    Console.WriteLine(str);
}

static int Add(int a, int b) { 
    return a + b;
}
View Code

 

标签:Console,委托,Action,sayHello,static,Func,泛型
From: https://www.cnblogs.com/xwzyac/p/18082315

相关文章

  • Java中的泛型是如何工作的?
    Java中的泛型(Generics)是JDK5.0引入的一个新特性,它提供了编译时类型安全,允许在定义类、接口和方法时使用类型参数(typeparameters)。泛型的主要目的是在编译时增强类型检查,以减少运行时类型转换的错误,同时保持使用泛型类型时的类型灵活性。以下是Java中泛型工作的几个关键点:类......
  • 前端学习-vue视频学习008-TS中的接口\泛型\自定义类型
    尚硅谷视频链接使用ts定义,可限制参数的类型新建ts文件//定义接口限制对象属性exportinterfacepersonInter{name:string,age:number,gender:string}//使用泛型//exporttypepersonArr=Array<personInter>//另一种写法exporttypepersonArr=p......
  • @Transactional底层实现和失效场景
    本文介绍下@Transactional底层实现和哪些场景会导致其失效当使用@Transactional注解标注一个方法时,springboot会在运行时生成一个代理对象,该代理对象拦截被注解的方法调用,并在方法调用前后进行事务管理。事务管理包括开启事务、提交事务或者回滚事务等操作。@Transactional实现......
  • SciTech-Mathmatics-ComplexSpace + (Discrete)Multi-Dimensional FourierTransform:
    多维\(C^k\)复数空间(k维复数空间)上的离散傅立叶变换(FourierTransform)可以合成任意的\(R^n\)几何体;\(C^k\)复数空间(k维复数空间):每一列向量,有k维度的变量;每一维度变量,是一个复数类型因变量\(z\);每一个复数类型因变量\(z\),都是时间\(t\)(\(R\)实数类型自变量)的函数,表......
  • AntSK 0.2.1 版本揭秘:动态加载dll,驱动Function Call新境界!
        在.NET的无限宇宙中,动态加载dll似乎一直是操控代码生生不息的魔杖。今天,我将与您探讨如何通过AntSK0.2.1版本灵活运用dll,将FunctionCall的强大功能插拔自如地融入项目之中,我们走入插件化开发的全新篇章。新版本简介       AntSK,这个曾被我们广泛探讨过的......
  • C++ Function Templates (函数模板)
    C++FunctionTemplates[函数模板]1.TemplatesandGenericProgramming(模板与泛型编程)2.DefiningaFunctionTemplates(定义函数模板)2.1.InstantiatingaFunctionTemplate(实例化函数模板)2.2.TemplateTypeParameters(模板类型参数)2.3.Non......
  • 浙大恩特客户资源管理系统-RegulatePriceAction接口SQL注入
    简介杭州恩软信息技术有限公司(浙大恩特)提供外贸管理软件、外贸客户管理软件等外贸软件,是一家专注于外贸客户资源管理及订单管理产品及服务的综合性公司。漏洞简介浙大恩特客户资源管理系统-RegulatePriceAction接口存在SQL注入漏洞,可以利用该漏洞获取数据库中的信息(例如,管理......
  • service层设置手动事务回滚,原因@Transactional事务与try{}catch(){}会失效,导事务不回
     1、原因是这样的,在service层的方法中,需要执行多条update或insert的数据操作,service的方法上是加@Transactional(rollbackFor=Exception.class)注解,然后方法体中又用了try{}catch(){}操作,导致在update多个执行时,其中有一条sql报错,本应该执行事务回滚操作报错前的update都不应......
  • 程序人生——Java泛型和反射的使用建议
    目录引出泛型和反射建议93:Java的泛型是类型擦除的建议94:不能初始化泛型参数和数组建议95:强制声明泛型的实际类型建议96:不同的场景使用不同的泛型通配符建议97:警惕泛型是不能协变和逆变的建议98:建议采用的顺序是List,List,List建议99:严格限定泛型类型采用多重界限建议1......
  • UVM - 6 (Transaction Modeling)
    内容uvm_sequence_item是transaction的基类可以使用uvm_sequence_item和uvm_transaction对数据进行建模什么是事务(transaction)?总线协议可以认为是一个事务UVM数据流testcase一般不产生数据,通常进行configsequencer会产生激励给到driver,传递的就是transaction......