为什么我不能继承IO.Directory?

时间:2020-03-06 14:44:47  来源:igfitidea点击:

为什么我不能在VB.NET中创建继承于System.IO.Directory的class?根据Lutz Roeder的说法,它没有被声明为" NotInheritable"!

我想创建一个"实用程序类",将功能添加到"目录类"中。例如,我想添加一个" Directory.Move"功能。

请告知,我会给我们寄六包。好的,没关系,我什么都不会寄给我们,但是如果我们今晚来酒吧,我会勾住我们,然后在游泳池中殴打我们。

解决方案

我们是否正在使用C3.0 VB.NET 2008-然后可以添加扩展方法

如果使用DirectoryInfo类,则可以访问MoveTo函数。

编辑:我将自行纠正...静态目录类已经具有Move方法。

从.NET的元数据

namespace System.IO
{
    // Summary:
    //     Exposes static methods for creating, moving, and enumerating through directories
    //     and subdirectories. This class cannot be inherited.
    [ComVisible(true)]
    public static class Directory

我们不能从静态类继承。

我猜想Reflector没有为VB正确选择密封属性(或者可能只是没有正确显示它)。如果看一下IL,它是密封的:

类public abstract auto ansi密封beforefieldinit目录