Почему я не могу наследовать IO.Каталог?
-
02-07-2019 - |
Вопрос
Почему я не могу создать 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