我在这里有一些功能,例如定义为
private int WriteLogikParameterTyp(FileStream filestream)
我无法改变。我希望他们写入MemoryStream对象。这可能吗?
答案 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);
}