Definir una propiedad
Si no está familiarizado con las propiedades, vea Información general sobre propiedades.
El siguiente fragmento de código define una propiedad denominada Message
del control PropertySample
.
public class PropertySample : Control {
private string message;
[Category("Text")]
[Description("The message to display")]
public string Message {
get {
return message;
}
set {
message = value;
}
}
...
}
[Visual Basic]
Option Explicit
Option Strict
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Public Class PropertySample
Inherits Control
Private _message As String
<Category("Text"), Description("The message to display")> _
Public Property Message() As String
Get
Return _message
End Get
Set
_message = value
End Set
End Property
...
End Class
Al definir una propiedad, conviene especificar los metadatos de la propiedad con uno o varios atributos, como se indica en el fragmento de código anterior. El elemento Description("The message to display")
es un atributo. Para que un diseñador gráfico muestre el control correctamente, hay que proporcionarle metadatos mediante atributos de clase, evento y propiedad. Si no está familiarizado con los atributos, vea Atributos de tiempo de diseño para componentes.
**Nota **El término atributo tal como se emplea en esta sección hace referencia a los atributos de metadatos orientados a Common Language Runtime o herramientas como los hosts de tiempo de diseño. No se deben confundir con los atributos XML o HTML empleados en la sintaxis de páginas ASP.NET.
Las propiedades pueden ser de tipo primitivo, de tipo de clase o una colección de tipos primitivos o de tipos de clase. Los distintos tipos de propiedades se describen en Tipos de propiedades.
Nota La propiedad definida en el ejemplo no se almacena durante las acciones de ida y vuelta en el cliente. Para definir las propiedades que se almacenan, hay que utilizar la propiedad ViewState para guardar los datos de propiedad, como se describe en Mantener el estado de un control.