文章预览
前言 从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
………………………………