理解这个c#代码的含义

 MiMe淘宝店 发布于 2023-02-05 11:24

我正在尝试理解以下代码:

  flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
  {
    DataStore = new FileDataStore("Tasks.ASP.NET.Sample.Store"),
    ClientSecretsStream = stream,
    Scopes = new[] { TasksService.Scope.TasksReadonly }
  });

根据我的理解,第一个和最后一个{...}之间的代码是匿名函数的主体.新的FileDataStore创建FileDataStore的新实例.我不明白的是它最后的逗号是什么意思.它后面的两行也有逗号.在C#中称为什么样的构造?我不熟悉它.

1 个回答
  • 不,它不是匿名函数的主体.它是一个初始化列表 ..它用于设置GoogleAuthorizationCodeFlow.Initializer所有类型的新对象的字段.

    它是这个的"内嵌"版本:

    var initializer = new GoogleAuthorizationCodeFlow.Initializer();
    initializer.DataStore = new FileDataStore("Tasks.ASP.NET.Sample.Store");
    initializer.ClientSecretsStream = stream;
    initializer.Scopes = new[] { TasksService.Scope.TasksReadonly };
    
    flow = new GoogleAuthorizationCodeFlow(initializer);
    

    这两者在功能上是等价的.它更紧凑.

    2023-02-05 11:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有