Por que não posso Inherit IO.Directory?
-
02-07-2019 - |
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.
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