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
相关产品推荐
相关产品推荐

