是否有一个简单的.NET“虚拟文件”类(如果源可用,则为c#)?

时间:2011-02-14 05:36:23

标签: c# .net virtualfilesystem virtual-file

很长一段时间以来,我一直在寻找.NET中的一个类,它具有使得操作系统认为存在文件(或目录,或两者等)的功能。 )在特定位置 - 但所有挂钩都传递给代码中的函数(或事件?)。

示例:

如果我浏览到“x:\ fake_directory \”,我会在那里看到一个文件“fake_file.txt”。如果我双击该文件,Notepad.exe将启动,文件内容将显示“Hello World”。 “Hello World”将来自我的c#代码。

我希望班级可以做的例子(也许这会更好地解释):

VirtualFile.Register("c:\my_file.txt",
    delegate { return Encoding.Ascii.GetBytes("Hello World"); });

当然,这是我正在寻找的简化版本......但希望你能得到这个想法。

这是100%需要的原因是使用遗留代码或专有(以及非常旧的遗留垃圾)系统,这些系统需要读取和写入文件系统进行通信。

2 个答案:

答案 0 :(得分:5)

我相信Dokan可以满足您对虚拟文件系统库的需求。 Dokan是用c ++编写的,但是有一个.NET库可以进行交互。

Dokan link

另一方面,我相信IPC会更好地实现您在评论中提供示例所需的功能。

答案 1 :(得分:2)

根据您的数据是静态还是动态生成,您会发现Callback File SystemSolid File System OS Edition适合您的需求(两者都是我们的产品)。 SolFS是一个随时可用的虚拟文件系统,内置容器。回调文件系统是一个没有容器的虚拟文件系统(您可以动态提供结构和数据)。