mQney 2023-07-05 23:17 采纳率: 50%
浏览 8
已结题

请问:以下代码中C#语法解读,涉及到哪些知识点

C#语法解读
1,在this IServiceCollection services中,this是什么作用?
2,在Action builderAction中,>是什么作用?
3,在 => services和s =>中,=>是什么作用,两处有什么区别?

#region Add General Purpose Service

        public static IServiceCollection AddDicomServer(this IServiceCollection services, Action<DicomServerServiceOptions> optionsAction, Action<DicomServiceBuilder> builderAction)
            => services
            .UseFellowOakDicom()
            .AddTransient<IHostedService>(s =>
            {
                var builder = new DicomServiceBuilder();
                builderAction(builder);
                var dicomService = new GeneralPurposeDicomServerService(s.GetRequiredService<IConfiguration>(), s.GetRequiredService<IDicomServerFactory>(), builder);
                optionsAction(dicomService.Options);
                return dicomService;
            });

        #endregion

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-07-05 23:33
    关注
    1,在this IServiceCollection services中,this是什么作用?
    这个叫做扩展方法,目的是给一个类型额外添加一个方法,而不改变这个类型的定义
    2,在Action builderAction中,>是什么作用?
    Action<DicomServiceBuilder> 这是一个泛型委托,代表一个参数为DicomServiceBuilder,没有返回值的方法
    3,在 => services和s =>中,=>是什么作用,两处有什么区别?
    => 是Lambda表达式,你可以理解为相当于定义了一个函数,箭头左边是参数,右边是函数体
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月14日
  • 已采纳回答 7月6日
  • 创建了问题 7月5日

悬赏问题

  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: