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日