Pergunta

Por que não posso criar uma class em VB.NET que inherits System.IO.Directory? De acordo com Lutz Roeder, é não declarado como NotInheritable!

Eu quero criar um utility class que adiciona funcionalidade ao Directory class. Por exemplo, eu quero adicionar uma função Directory.Move.

Por favor, informe e vou enviar-lhe um pacote de seis. OK deixa pra lá Não estou enviando-lhe qualquer coisa, mas se você vir para o bar esta noite eu vou ligar-te e depois batê-lo na piscina.

Foi útil?

Solução

A partir dos dados Meta de .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

Você não pode herdar de uma classe estática.

Outras dicas

Você está usando C # 3.0 VB.NET 2008 - então você pode adicionar um Método de extensão

Se você usar a classe DirectoryInfo, você terá acesso a uma função MoveTo.

EDIT:. Eu vou me corrigir ... A classe Diretório estática já tem um método Move

Eu acho que refletor não está pegando o atributo selados corretamente para VB (ou talvez simplesmente não exibi-lo corretamente). Se você olhar para o IL, é selado:

classe auto abstrato pública ansi selada beforefieldinit Diretório

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top