Partial (Visual Basic)

Indica que la declaración de una clase o una estructura es una definición parcial de dicha clase o estructura.

Puede dividir la definición de una clase o estructura en varias declaraciones mediante la palabra clave Partial. Puede utilizar tantas declaraciones parciales como desee, en tantos archivos de código fuente diferentes como quiera. Sin embargo, todas las declaraciones deben estar en el mismo ensamblado y el mismo espacio de nombres.

Nota

Visual Basic admite los métodos parciales, que normalmente se implementan en clases parciales.Para obtener más información, vea Métodos parciales (Visual Basic) y Sub (Instrucción, Visual Basic).

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure } name [ (Of typelist) ]
    [ Inherits classname ]
    [ Implements interfacenames ]
    [ variabledeclarations ]
    [ proceduredeclarations ]
{ End Class | End Structure }

Elementos

Término

Definición

attrlist

Opcional. Lista de atributos que se aplica a esta clase o estructura. Debe incluir la Lista de atributos (Visual Basic) entre corchetes angulares (< >).

accessmodifier

Opcional. Especifica qué código puede tener acceso a esta clase o estructura. Vea Niveles de acceso en Visual Basic.

Shadows

Opcional. Vea Shadows (Visual Basic).

MustInherit

Opcional. Vea MustInherit (Visual Basic).

NotInheritable

Opcional. Vea NotInheritable (Visual Basic).

name

Obligatorio. Nombre de esta clase o estructura. Debe coincidir con el nombre definido en todas las demás declaraciones parciales de la misma clase o estructura.

Of

Opcional. Especifica que se trata de una estructura o clase genérica. Vea Tipos genéricos en Visual Basic (Visual Basic).

typelist

Es obligatoria si se utiliza Of. Vea Lista de tipos (Visual Basic).

Inherits

Opcional. Vea Inherits (Instrucción).

classname

Es obligatoria si se utiliza Inherits. Nombre de la clase o interfaz de la que se deriva esta clase.

Implements

Opcional. Vea Implements (Instrucción).

interfacenames

Es obligatoria si se utiliza Implements. Nombres de las interfaces implementadas por esta clase o estructura.

variabledeclarations

Opcional. Instrucciones que declaran eventos y variables adicionales para la clase o estructura.

proceduredeclarations

Opcional. Instrucciones que declaran y definen procedimientos adicionales para la clase o estructura.

End Class o End Structure

Finaliza esta definición parcial de Class o Structure.

Comentarios

Visual Basic utiliza definiciones de clase parciales para separar el código generado del código creado por el usuario en archivos de código fuente distintos. Por ejemplo, el Diseñador de Windows Forms define clases parciales para los controles, como Form. No debería modificar el código generado de estos controles.

Todas las reglas de creación de clases y estructuras, como por ejemplo las reglas de herencia y utilización de modificadores, se aplican cuando se crea una clase o una estructura parcial.

Procedimientos recomendados

  • En circunstancias normales, no debería dividir el desarrollo de una única clase o estructura en dos o más declaraciones. Por tanto, en la mayoría de los casos no necesitará la palabra clave Partial.

  • Por motivos de legibilidad, cada declaración parcial de una clase o estructura debería incluir la palabra clave Partial. El compilador únicamente permite que se omita la palabra clave en una sola declaración parcial; si se omite en dos o más declaraciones parciales, el compilador indicará un error.

Comportamiento

  • Unión de declaraciones. El compilador trata la clase o estructura como la unión de todas sus declaraciones parciales. Todos los modificadores de cada definición parcial se aplican a toda la clase o estructura, y todos los miembros de cada definición parcial están disponibles en toda la clase o estructura.

  • La promoción de tipos no está permitida para tipos parciales en módulos. Si una definición parcial está dentro de un módulo, la promoción de tipos de esa clase o estructura se rechaza automáticamente. En este caso, un conjunto de definiciones parciales puede producir resultados inesperados e incluso errores del compilador. Para obtener más información, vea Promoción de tipos (Visual Basic).

    El compilador sólo combina las definiciones parciales cuando sus rutas de acceso completas son idénticas.

La palabra clave Partial se puede utilizar en estos contextos:

Class (Instrucción)

Structure (Instrucción)

Ejemplo

En el ejemplo siguiente se divide la definición de la clase sampleClass en dos declaraciones, cada una de las cuales define un procedimiento Sub diferente.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub 
End Class 
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub 
End Class

Las dos definiciones parciales del ejemplo anterior podrían estar en el mismo archivo de código fuente o en dos archivos de código fuente diferentes.

Vea también

Referencia

Instrucción Class (Visual Basic)

Structure (Instrucción)

Shadows (Visual Basic)

Conceptos

Promoción de tipos (Visual Basic)

Tipos genéricos en Visual Basic (Visual Basic)

Métodos parciales (Visual Basic)