【问题标题】:Problem with add channel to Microsoft Team (C# code, cast channel type to interface)将频道添加到 Microsoft Team 时出现问题(C# 代码,将频道类型转换为接口)
【发布时间】:2020-11-23 10:56:48
【问题描述】:

我在 Microsoft 团队中有一个应用程序,我想从 Visual Studio (c#) 添加频道。 在examples in the documentation,我们可以看到这几行:

Channels = (ITeamChannelsCollectionPage)new List<Channel>()
{
    new Channel
    {
        DisplayName = "Class Announcements ",
        IsFavoriteByDefault = true
    },
    new Channel
    {
        DisplayName = "Homework ",
        IsFavoriteByDefault = true
    }
},

但如果我尝试在 Visual Studio 中这样做,我会得到一个 InvalidCastExeption

我的代码和示例代码是相等的

我认为 SDK(Microsoft Graph) 已更新,但文档 - 没有

我的 Microsoft.Graph SDK 版本 - 3.9.0

PS。将类型“Channel”转换为接口“ITeamChannelsCollectionPage”的问题

【问题讨论】:

  • 如何将List&lt;Channel&gt; 显式转换为ITeamChannelsCollectionPage
  • @Cleptus 在提到的文档示例 3 中,我们可以。不过我也觉得很奇怪。
  • @HimBromBeere 正在编辑问题,使其更具可读性,刚刚检查了提供的链接,确实 MS 文档看起来很奇怪。
  • 文档似乎是错误的,无法进行显式转换。在这个related but not duplicated answer 中,他们确实使用TeamChannelsCollectionPage 而不是List&lt;Channel&gt;

标签: c# microsoft-graph-api microsoft-teams microsoft-graph-teams


【解决方案1】:

所以那里的文档是完全错误的——你不能那样投。 Graph SDK的正确使用方式是这样的:

var team = new Team
{
    Channels = new TeamChannelsCollectionPage
    {
        new Channel
        {
            DisplayName = "Class Announcements"
        },
        new Channel
        {
            DisplayName = "Homework "
        }
    }
}

注意:IsFavoriteByDefault 属性不存在,它可能在旧版本的 SDK 中有效。

【讨论】:

    猜你喜欢
    • 2019-07-09
    • 2019-10-23
    • 1970-01-01
    • 2017-10-28
    • 2021-12-11
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多