在C#中创建IStream对象

时间:2012-10-16 07:47:19

标签: c# com com-interop

我正在编写一个项目并与另一方DLL合作。

他们的DLL函数想要一个IStream对象来保存结果,但我无法理解如何创建一个IStream对象。

任何人都可以帮我解决问题吗?

4 个答案:

答案 0 :(得分:5)

您不创建IStream对象,因为它显然是一个接口。您应该实现此接口并传递您的对象。或者只是使用已经实现它的对象,如果存在这样的对象。

已经给出了类似问题的答案,给出了如何在C#中使用IStream接口的一个很好的例子。

Does a wrapper class for a COM interop IStream already exist?

<强>校正: 但是,只有当您需要在应用程序中使用现有的IStream时才能使用它,而不是在需要在其他地方创建和传递IStream时。对于该任务,请参阅此内容以了解如何执行此操作:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa380034(v=vs.85).aspx

以下是Microsoft的一个示例(用于XmlLite,不确定它是否适合您)

http://msdn.microsoft.com/en-us/library/windows/desktop/ms752876(v=vs.85).aspx

或许这个例子已经由Marcus发布: http://hl7connect.blogspot.sk/2010/04/c-implementation-of-istream.html

最后一个链接显示了如何使用任何Stream来实现IStream接口。

答案 1 :(得分:3)

答案 2 :(得分:0)

IStream我假设是一个接口。您不能直接从接口创建实例,而是创建实现该接口的对象的实例(或创建自己的实现IStream的对象)。

答案 3 :(得分:0)

Implement your own stream class and inherit the IStream interface。 IStream只是一个流,只要它是一个流(例如FileStream等),就可以完全按照你的决定。

相关:link