何时处置?

2024-04-20

我对所有有关 IDispose 和“使用”语句的讨论感到困惑。我想知道是否有人可以告诉我在下面的测试示例中是否需要使用“using”语句或 IDispose 的某种实现...

public class Main()
{
    MyFile myFile = new MyFile("c:\subdir\subdir2\testFile.txt");
    Console.Writeline("File Name: " + myFile.FileName() + "File Size: " + myFile.FileSize());
}

public class MyFile
{
    private FileInfo _fInfo;

    public MyFile(string fullFilePath)
    {
        _fInfo = new FileInfo(fullFilePath);
    }

    public string FileName()
    {
        return _fInfo.Name;
    }

    public long FileSize()
    {
        return _fInfo.Length;
    }

}

不,您的示例不使用任何需要处置的资源(它不会触及任何实现IDisposable,或者对非托管资源有任何直接句柄),因此您不需要实现IDisposable.

现在如果你把你的班级改成open文件,并维护一个FileStream引用打开文件句柄的字段,then实施是有意义的IDisposable关闭流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时处置? 的相关文章

随机推荐