Вопрос

Почему я не могу создать class в VB.NET это inherits System.IO.Directory?По словам Лутца Редера, это нет объявленный как NotInheritable!

Я хочу создать utility class это добавляет функциональности к Directory class.Например, я хочу добавить Directory.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

Вы не можете наследовать от статического класса.

Другие советы

Используете ли вы C # 3.0 VB.NET 2008 - тогда вы могли бы добавить Способ расширения

Если вы используете класс DirectoryInfo, у вас будет доступ к функции moveTo.

Редактировать:Я исправлюсь...В классе static Directory уже есть метод Move.

Я бы предположил, что Reflector неправильно подбирает атрибут sealed для VB (или, возможно, просто неправильно отображает его).Если вы посмотрите на карту, то увидите, что она запечатана:

класс public abstract auto ansi запечатанный каталог beforefieldinit

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top