如何在COM#中将COM对象转换为内存流以生成MD5哈希

时间:2019-02-01 09:06:39

标签: c# vsto powerpoint

我正在使用Powerpoint VSTO addIn c#.net 4.5。

实用上我正在访问演示文稿中的每个幻灯片对象。 我只想将此幻灯片对象转换为内存流以产生MD5哈希。

我创建了一个接受对象并产生HASH字符串的函数。如下,

 public string getMD5ChecksumOfObject(object obj)
    {
        using (var md5 = MD5.Create())
        {
            MemoryStream stream = new MemoryStream();
            IFormatter formatter = new BinaryFormatter();
            formatter.Serialize(stream, obj);
            return Encoding.Default.GetString(md5.ComputeHash(stream));

        }
    }

这是非常简单的代码。 但是,当我将Slide对象传递给此方法时,则在序列化时它不起作用。,即 COM对象未标记为序列化。 简单来说,我们不能将com对象存储在流中。我需要该幻灯片对象的流。所以我可以将其传递给MD5哈希以生成校验和

有人对此有何建议?

0 个答案:

没有答案