我正在编写一个项目并使用另一方 DLL。
他们的 DLL 中的函数想要一个 IStream 对象来保存结果,但我不明白如何创建一个 IStream 对象。
谁能帮我解决我的问题?
我正在编写一个项目并使用另一方 DLL。
他们的 DLL 中的函数想要一个 IStream 对象来保存结果,但我不明白如何创建一个 IStream 对象。
谁能帮我解决我的问题?
您不创建 IStream 对象,因为显然它是一个接口。您应该实现此接口并传递您的对象。或者简单地使用一个已经实现它的对象,如果这样的对象存在的话。
已经给出了类似问题的答案给出了一个很好的例子,如何在 C# 中使用 IStream 接口。
更正: 但是,这仅在您需要在应用程序中使用现有 IStream 时才有效,而不是当您需要在其他地方创建和传递 IStream 时。对于该任务,请参阅this for refence 如何执行此操作:
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 接口。
由于 .Net 更加开源,因此这是来自 Microsoft 的托管实现:
实现自己的流类并继承 IStream 接口。IStream 只是一个流,只要它是一个流(例如 FileStream 等),几乎可以是您决定的。
相关:链接