专栏名称: DotNet
「DotNet」专注.NET和.NET Core技术传播,包括:C#、.NET、.NET Core跨平台技术、工具资源和相关动态。
今天看啥  ›  专栏  ›  DotNet

C# 13 扩展方法的新境界,更智能、更简洁

DotNet  · 公众号  ·  · 2024-07-01 11:45

文章预览

前言 从C# 13 开始, 拓展方法 这一特性就得到了广泛的应用。 正文 此功能允许你能够使用实例方法的语法调用某个静态方法,以下是一个获取/创建文件的静态方法: public   static   async  Task   GetOrCreateFileAsync ( this  StorageFolder folder, string  name ) { var  item =  await  folder.TryGetItemAsync(name)  as  StorageFile; item ??=  await  folder.CreateFileAsync(name); return  item; } 可以采取如下方式调用此方法,但可读性较差: await  Extensions.GetOrCreateFileAsync(folder,  "FileName" ); 通过为方法的第一个参数添加 this 标记,我们还可以这样调用 await  folder.GetOrCreateFileAsync( "FileName" ); 拓展方法在C#的发展中有着举足轻重的作用, System.Linq 就使用了大量拓展方法极大简化了数据查询: //筛选最高温大于30°C的每日天气数据并按照天气类型分组 var  result = forecasts.Where( p  =>  p.MaxTemperature >  3 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览