首页 > 其他分享 >dotnet的Lambda表达式 委托泛型(2) Action Func

dotnet的Lambda表达式 委托泛型(2) Action Func

时间:2024-05-04 10:55:05浏览次数:18  
标签:委托 DateTime 泛型 Func Action 返回值

// 总结:
// 泛型:把类,方法,属性,字段做到了通用化
// 反射:操作dll文件的一个帮助类库
// 特性:就是一个特殊的类 自定义标记属性特性 他就是AOP的另一种实现方式 验证属性
// 委托:就是多播委托,可以保存一个或者多个方法的信息。可以用来传递方法(把方法当作参数传递)。主要用来实现代码的解耦。
// 事件:就是委托的安全版本,在定义委托和调用委托在同一个类里面操作,外面不能操作。

// Lambda
// 历史:
// 版本1:普通方法的调用 FunName() {};
// 版本2:使用了匿名方法(没有名字的方法) delegate ( 参数 ){ 方法体 }
// 版本3:lambda表达式 () => {};
DateTime dateTime = DateTime.Now;
// Write() WriteLine() 区别:是否换行
// => 念成 goes to
// 泛型委托 -- Action Func 区别:是否带返回值
// Action是.NET内部提供的一个无返回值、泛型的委托,有16重载,分别是0个参数~15个参数;
delegate void Action<in T, in T1, in T2>(T obj, T1 obj1, T2 obj2);
delegate void testFn(int a, string b); // 定义一个委托
Action testFn1 = () => Console.WriteLine("Lambda表达式省略return的写法"); // 事件
Action<DateTime> testTimeFn = (d) => { }; // Action<参数类型>
// 有返回值的函数
// Func其实跟Action很像,只是它是带有返回值的委托。也是有15个重载:
delegate TR Func<in T, in T1, in T2, out TR>(T obj, T1 obj1, T2 obj2);
Func<DateTime> func = () => DateTime.Now; // 此时<DateTime> 是返回值的类型 不在是参数的类型了
// 使用变量接收当前时间
DateTime currTime = func();

标签:委托,DateTime,泛型,Func,Action,返回值
From: https://www.cnblogs.com/zhulongxu/p/18172099

相关文章

  • 泛型dotnet
    //什么是泛型List<T>T:表示类型参数,指代任意类型T可以是任意标识//编写代码时使用特殊符号替代位置类型,在实例化或使用/调用时才会进行具体类型的定义//特点:重用代码,保护类型安全性,提高性能//泛型集合<k,v>Dictionary<int,string>directory=newDiction......
  • DAPPER 事务 TRANSACTION
    https://www.cnblogs.com/friend/p/16754184.html\ publicasyncTask<int>Save(longmoldProducedProductId,List<MoldStandardResource>list){intresult=0;stringdelSql="DeleteMoldStandardResourceWhereMoldProducedProductId......
  • ES Validation Failed: 1: this action would add [1] shards, but this cluster c
    [2024-05-01T08:56:52,606][ERROR][o.e.x.i.IndexLifecycleRunner][tools]policy[ilm-history-ilm-policy]forindex[.ds-ilm-history-5-2024.03.28-000001]failedonstep[{"phase":"hot","action":"rollover","name&qu......
  • 学会使用 NumPy:基础、随机、ufunc 和练习测试
    NumPyNumPy是一个用于处理数组的Python库。它代表“NumericalPython”。基本随机ufunc通过测验测试学习检验您对NumPy的掌握程度。通过练习学习NumPy练习练习:请插入创建NumPy数组的正确方法。arr=np.([1,2,3,4,5])示例创建NumPy数组:importnumpy......
  • WPF MVVM Datagrid Selected Multiple items via behavior interaction.trigger,event
    1.Install Microsoft.Xaml.Behaviors.WpffromNuget;2.Addbehaviorreferenceinxamlxmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"3.Passmethodtomvvmviabehavior,interaction,trigger,eventname,TargetObject,MethodNameinxaml......
  • [990] Functions of pandas
    Series.isxxxx()Series.isin():WhetherelementsinSeriesarecontainedin values.top_oceania_wines=reviews[(reviews.country.isin(['Australia','NewZealand']))&(reviews.points>=95)Series.str.islower():Checkwh......
  • Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions
    Category:Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareEventId:1RequestId:800000f3-0003-eb00-b63f-84710c7967bbRequestPath:/SampleSpanId:|e04026eb-470f4c64c48ec282.TraceId:e04026eb-470f4c64c48ec282ParentId:Anunhandledexception......
  • WPF pass event method to viewmodel via Interaction:CallMethodAction,TargetObject
    <Windowx:Class="WpfApp71.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • ue4.26 通过材质开关控制mesh pass的blend function
    一,meshpass中blendfunction的设置方法在meshpass中设置blendfunction有如下几种方式:1,在CreateXXXProcessor(返回FXXXProcessor)中: 2,FXXXProcessor::AddMeshBatch中: 3,FXXXProcessor::Process中: 4,RenderXXX中: 二,材质开关访问途径我们知道,访问材质开关有以下几种......
  • 华为云FunctionGraph构建高可用系统的实践
    本文分享自华为云社区《华为云FunctionGraph构建高可用系统的实践》,作者:华为云PaaS服务小智。导语每年,网上都会报道XXX系统异常不可用,给客户带来巨大的经济损失。云服务的客户基数更大,一旦出现问题,都将给客户和服务自身带来极大影响。本文将基于华为云FunctionGraph自身的实践,......