c# – 如何使用StorageItem保存vsto加载项特定数据
发布时间:2020-12-15 22:27:50 所属栏目:百科 来源:网络整理
导读:我正在使用C#为Outlook开发VSTO加载项.我希望能够保存一些加载项特定数据,这是一种复杂的用户定义类型.我已经阅读了 StorageItem API的MSDN文档,但没有多大帮助.使用StorageItem是正确的方法吗?任何代码示例都会有帮助. 解决方法 由于解决方案存储是作为文
我正在使用C#为Outlook开发VSTO加载项.我希望能够保存一些加载项特定数据,这是一种复杂的用户定义类型.我已经阅读了
StorageItem API的MSDN文档,但没有多大帮助.使用StorageItem是正确的方法吗?任何代码示例都会有帮助.
解决方法
由于解决方案存储是作为文件夹中的隐藏项创建的,因此只有存储提供程序支持隐藏项且客户端才有权写入该文件夹时,才能存储解决方案数据.
private string GetWorkHoursXML() { try { Outlook.StorageItem storage = Application.Session.GetDefaultFolder( Outlook.OlDefaultFolders.olFolderCalendar).GetStorage( "IPM.Configuration.WorkHours",Outlook.OlStorageIdentifierType.olIdentifyByMessageClass); Outlook.PropertyAccessor pa = storage.PropertyAccessor; // PropertyAccessor will return a byte array for this property byte[] rawXmlBytes = (byte[])pa.GetProperty( "http://schemas.microsoft.com/mapi/proptag/0x7C080102"); // Use Encoding to convert the array to a string return System.Text.Encoding.ASCII.GetString(rawXmlBytes); } catch { return string.Empty; } } 有关更多信息,请参见How to: Store Solution-Specific Data as a Hidden Message in a Folder. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |