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

时间:2008-09-25 20:17:22

标签: vb.net inheritance system.io.directory

为什么我不能在class VB.NET inherits中创建System.IO.Directory?根据Lutz Roeder的说法, not 声明为NotInheritable

我想创建一个utility class,为Directory class添加功能。例如,我想添加Directory.Move函数。

请指教,我会寄给你六包。好的,没关系,我不会送你任何东西,但如果你今晚来到酒吧,我会把你挂起,然后在游泳池里打败你。

4 个答案:

答案 0 :(得分:11)

来自.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

您不能从静态类继承。

答案 1 :(得分:5)

您使用 C#3.0 VB.NET 2008 - 那么您可以添加Extension Method

答案 2 :(得分:1)

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

编辑:我会纠正自己......静态目录类已经有了一个Move方法。

答案 3 :(得分:0)

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

class public abstract auto ansi 密封 beforefieldinit目录