Pregunta

¿Por qué no puedo crear una clase en VB.NET que hereda System.IO.Directory ? Según Lutz Roeder, ¡ no se ha declarado como NotInheritable !

Quiero crear una clase de utilidad que agregue funcionalidad a la clase de directorio . Por ejemplo, quiero agregar una función Directory.Move .

Por favor avise y le enviaré un paquete de seis. Vale, no te estoy enviando nada, pero si vienes al bar esta noche, te engancharé y luego te ganaré en la piscina.

¿Fue útil?

Solución

De los metadatos 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

No puedes heredar de una clase estática.

Otros consejos

¿Está utilizando C # 3.0 VB.NET 2008? Entonces podría agregar un Método de extensión

Si utiliza la clase DirectoryInfo, tendrá acceso a una función MoveTo.

EDITAR: Me corregiré ... La clase de directorio estático ya tiene un método de movimiento.

Supongo que el Reflector no está captando el atributo sellado correctamente para VB (o tal vez simplemente no lo muestra correctamente). Si nos fijamos en el IL, está sellado:

clase pública resumen auto ansi sellado antes del campo en el directorio

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top