Propiedades de las propiedades de dominio
Una propiedad de dominio es una característica de un elemento de modelo que puede guardar un valor. Por ejemplo, la clase de dominio Person
podría tener las propiedades Name
y BirthDate
. En la definición de DSL, las propiedades de dominio se enumeran en el cuadro de clases de dominio en el diagrama, y en la clase de dominio en DSL Explorer (Explorador de DSL). Para más información, consulte Procedimientos para definir lenguajes específicos de dominio.
Nota
La palabra "propiedad" tiene dos usos. Una propiedad de dominio es una característica que se define en una clase de dominio. En cambio, muchos elementos de un DSL tienen propiedades, que se enumeran en la ventana Propiedades de la definición de DSL. Por ejemplo, todas las propiedades de dominio tienen un conjunto de características, que se describen en este tema.
En tiempo de ejecución, cuando un usuario crea instancias de la clase de dominio, los valores de las propiedades de dominio se pueden ver en la ventana Properties (Propiedades), y se pueden mostrar en las formas.
La mayoría de las propiedades de dominio se implementan como propiedades de CLR normales. Sin embargo, desde el punto de vista de la programación, las propiedades de dominio tienen una funcionalidad más amplia que las propiedades de programa normales:
Puede definir reglas y eventos que supervisen el estado de una propiedad. Para más información, consulte Responder a los cambios y propagarlos.
Las transacciones ayudan a evitar estados incoherentes. Para más información, consulte Navegación y actualización de un modelo en código de programa.
Cuando selecciona una propiedad de dominio en un diagrama o en DSL Explorer (Explorador de DSL), puede ver los siguientes elementos en la ventana Properties (Propiedades). Para más información sobre cómo usar estos elementos, consulte Personalización y ampliación de un lenguaje específico de dominio.
Propiedad | Descripción | Valor predeterminado |
---|---|---|
Descripción | La descripción que se usa para documentar la interfaz de usuario del diseñador generado. | <Ninguna> |
Nombre para mostrar | Nombre que se mostrará en el diseñador generado para esta propiedad de dominio. Puede contener espacios y puntuación, por ejemplo "Título de la canción". | <Ninguna> |
Element Name Provider | Solo es aplicable si ha establecido Is Element Name en true . Puede escribir código que proporcione un nombre para un nuevo elemento de una clase de dominio e invalidar el comportamiento predeterminado.En un archivo de código del proyecto de DSL, cree una clase que derive de ElementNameProvider. En DSL Explorer (Explorador de DSL), haga clic con el botón secundario en la raíz del DSL y haga clic en Add External Type (Agregar tipo externo). Escriba el nombre de la clase. Seleccione de nuevo esta propiedad de dominio y seleccione el nombre de la clase en la lista desplegable. |
<Ninguna> |
Getter Access Modifier | Nivel de acceso de la clase de dominio (public o internal ). Controla el ámbito en el cual el código de programa puede acceder a la propiedad. |
public |
Palabra clave de ayuda | Palabra clave opcional que se usa para indizar la ayuda de F1 para esta propiedad de dominio. | <Ninguna> |
Is Browsable | Si es True , la propiedad de dominio se muestra al usuario en la ventana de propiedades cuando se abren los modelos de este DSL.Si es False , la propiedad de dominio se oculta en la interfaz de usuario.Si quiere que la propiedad de dominio sea visible pero de solo lectura, establezca Is UI Read Only (Es IU de solo lectura). |
True |
Is Element Name | Si es True , esta propiedad de dominio se mostrará con el nombre de su elemento modelo en DSL Explorer (Explorador de DSL).Los nuevos elementos de modelo recibirán un valor predeterminado único para esta propiedad. Si quiere controlar cómo se generan estos valores, establezca Proveedor de nombres de elemento. |
False |
Is UI Read Only | Si es True , el valor de la propiedad de dominio no se puede cambiar mediante la interfaz de usuario. Los programas sí pueden establecerlo y será visible en la ventana Properties (Propiedades).Si quiere ocultar la propiedad de dominio al usuario, establezca Is Browsable (Se puede examinar). Si quiere controlar el acceso de los programas, establezca Setter Access Modifier (Modificador de acceso de establecedor). |
False |
Variante | Tipo de propiedad de dominio (Normal , Calculated o CustomStorage ). Para más información, consulte Propiedades de almacenamiento calculadas y personalizadas. |
Normal |
Nombre | Nombre de esta propiedad de dominio. Debe ser un identificador válido, por ejemplo, SongTitle. | <Ninguna> |
Notas | Notas informales que están asociadas con esta propiedad de dominio. | <Ninguna> |
Setter Access Modifier | Modificador de acceso del establecedor. Controla el ámbito en el cual el código de programa puede establecer la propiedad. | public |
Tipo | El tipo de propiedad. Para agregar a la lista de tipos disponibles, haga clic con el botón derecho en la raíz del DSL en Explorador de DSL y haga clic en Agregar tipo externo. | String |