【发布时间】:2019-10-27 02:30:55
【问题描述】:
我阅读了很多关于SafeFileHandle 的内容,据我所见,我认为我不必使用它,或者在FileStream 中使用它没有任何好处,因为它被第一个对象关闭的文件流处理了它,我不能在其他对象中使用它。
谁能告诉我什么时候应该使用它?
static void Main(string[] args)
{
string path = "Hello";
SafeFileHandle handle = File.Open(path, FileMode.OpenOrCreate).SafeFileHandle;
using (FileStream fs = new FileStream(handle, FileAccess.ReadWrite))
{
// do work
}
Console.ReadKey();
}
据我所知,SafeFileHandle 的定义是:就像一个人握着一根绳子,他们在和孩子们玩耍,每个孩子都握着另一只手。
person = 文件句柄或任何句柄(网络连接或任何东西)
绳子 = SafeFileHandle
kids = 想要使用 FileStream 等文件句柄进行操作的对象
这是我对安全文件句柄的看法,对吗?
【问题讨论】:
-
SafeFileHandle的重点是与本机非托管代码一起使用,例如CreateFile方法。除非您有充分的理由使用它,否则您可能不应该使用它。 -
@AhmedAbdelhameed 好的兄弟,但你能告诉我什么是原生非托管代码吗?
标签: c# handle safefilehandle