使用具有期望文件流的函数的MemoryStream

时间:2009-01-28 10:38:27

标签: c# .net filestream memorystream

我在这里有一些功能,例如定义为

private int WriteLogikParameterTyp(FileStream filestream)

我无法改变。我希望他们写入MemoryStream对象。这可能吗?

5 个答案:

答案 0 :(得分:1)

没有

FileStream是一个具体的实现。

但它是一种私有方法,所以应该很容易改变,因为你可以找到所有内部用途?建议用Stream而不是FileStream替换方法签名。

嗯......除非你创建一个临时文件,写入它然后将其读入内存。

答案 1 :(得分:1)

由于您无法更改函数签名以接受更通用的类型。我建议写出一个临时文件,然后将内容读入MemoryStream实例。

答案 2 :(得分:0)

没有

如果您无权访问它们,您可以使用反射器来了解它们的工作方式并为MemoryStream实现您自己的版本。这是否合法是另一回事......

答案 3 :(得分:0)

没有。 FileStream不公开可以调用的构造函数,因此您无法继承该构造函数以进行模拟。

答案 4 :(得分:0)

建议;

重命名方法

private int WriteLogikParameterTyp_Ex(Stream stream);

然后重新创建原始签名,如;

private int WriteLogikParameterTyp(FileStream filestream)
{
     return WriteLogikParameterTyp_Ex(filestream);
}