1

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

private int WriteLogikParameterTyp(FileStream filestream)

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

4

5 回答 5

1

不。

FileStream 是一个具体的实现。

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

好吧...除非您创建一个临时文件,否则先写入它然后将其读入内存。

于 2009-01-28T10:41:54.223 回答
1

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

于 2009-01-28T10:42:14.940 回答
0

不。

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

于 2009-01-28T10:43:48.883 回答
0

不。 FileStream 不公开可以调用的构造函数,因此您不能从它继承来模拟它。

于 2009-01-28T10:48:29.313 回答
0

建议;

像这样重命名方法

private int WriteLogikParameterTyp_Ex(Stream stream);

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

private int WriteLogikParameterTyp(FileStream filestream)
{
     return WriteLogikParameterTyp_Ex(filestream);
}
于 2009-01-28T10:49:13.087 回答