You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph SDK ExtensionName属性异常及访问问题求助

OpenTypeExtension 属性访问问题解析

问题场景

我为Event.Extensions添加AdditionalData的代码如下:

Extensions = new List<Microsoft.Graph.Models.Extension>
{
    new Microsoft.Graph.Models.Extension()
    {
        AdditionalData = new Dictionary<string, object>
        {
            { "extensionName", "Samtalsbokning" },
            { "itemId", itemId },
            { "siteId", siteId },
            { "type", "microsoft.graph.openTypeExtension" }
        },
        OdataType = "microsoft.graph.openTypeExtension",
    }
}.ToList()

读取事件时,从即时窗口看到ExtensionName不在AdditionalData中,而是作为OpenTypeExtension的属性存在:

item.Extensions[0]
{Microsoft.Graph.Models.OpenTypeExtension}
    AdditionalData: Count = 3
    BackingStore: {Microsoft.Kiota.Abstractions.Store.InMemoryBackingStore}
    ExtensionName: "Samtalsbokning"
    Id: "Microsoft.OutlookServices.OpenTypeExtension.Samtalsbokning"
    OdataType: "#microsoft.graph.openTypeExtension"
item.Extensions[0].ExtensionName
error CS1061: 'Extension' does not contain a definition for 'ExtensionName' and no accessible extension method 'ExtensionName' accepting a first argument of type 'Extension' could be found (are you missing a using directive or an assembly reference?)

疑问

  • 为何ExtensionName不在AdditionalData中?
  • 为何无法通过.ExtensionName直接访问?

临时解决方法

自定义Extension类后通过序列化反序列化读取:

class Extension
{
    public string ExtensionName { get; set; }
}
string jsonString = JsonConvert.SerializeObject(exItem);
Extension extension = JsonConvert.DeserializeObject<Extension>(jsonString);

内容的提问来源于stack exchange,提问作者Tomas Kanok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:05:08