Creating IStream object in C#

你离开我真会死。 提交于 2019-12-01 06:33:28

问题


I'm writing a project and working with another party DLL.

Function from their DLL wants an IStream object to save result, but I can't understand how to create an IStream object.

Can anyone help me with my problem?


回答1:


You don't create IStream object, because obviously it's an interface. You should rather implement this interface and pass your object. Or simply use an object that already implements it, if such object exists.

Already given answer for a similar question gives a nice example how to use IStream interface in C#.

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

Correction: This, however, works only if you need to use already an existing IStream inside your app, not when you need to create and pass an IStream elsewhere. For that task, see this for refence how to do that:

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

And here is an example from Microsoft (used for XmlLite, not sure if it works for you)

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

Or maybe this example, already posted by Marcus: http://hl7connect.blogspot.sk/2010/04/c-implementation-of-istream.html

This last link shows how to use any Stream to implement the IStream interface.




回答2:


Here is a managed implementation from Microsoft now that .Net is more open source:

https://referencesource.microsoft.com/#PresentationFramework/src/Framework/MS/Internal/IO/Packaging/managedIStream.cs




回答3:


IStream I assume is an interface. You cannot create an instance from an interface directly, rather you create an instance of an object that implements that interface (or create your own object that implements IStream).




回答4:


Implement your own stream class and inherit the IStream interface. IStream is just a stream and can be pretty much what you decide it is as long as it is a stream (e.g. FileStream etc.)

Related: link



来源:https://stackoverflow.com/questions/12909850/creating-istream-object-in-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!