Criando propriedades dinâmicas nos seus componentes

 

É comum criarmos componentes, CustomWebControls ou componentes para serem usados em ambientes de smart Client, aumentando a reutilização de funcionalidades e enriquecendo nossa interface, quer seja windows ou web.

Um recurso muito importante existente em alguns componentes que acompanham o framework é o recurso das propriedades dinâmicas. Alguns componentes, tais como o oledbconnection, possuem propriedades dinâmicas.

No exemplo do OLEDBConnection a propriedade dinâmica é ConnectionString. Isso significa que configurando a connectionstring adequadamente podemos guardar o valor da string de conexão fora da aplicação, no Web.Config no caso de uma aplicação web ou no arquivo de manifesto no caso de uma aplicação Windows.

É muito interessante que possamos fazer o mesmo para nossos próprios componentes, dando a possibilidade que nossas propriedades sejam configuradas como propriedades dinâmicas.
Isso é bem mais simples do que pode parecer inicialmente. Basta aplicarmos um atributo na propriedade que desejamos que se torne propriedade dinâmica.
Veja um exemplo:

<RecommendedAsConfigurable(True)> _

Public Property MyProperty() As Integer


Get

'Insert code here.

Return 0

End Get

 

Set

  'Insert code here.

End Set

End Property


Pronto, nossa propriedade aparecerá entre as propriedades dinâmicas na janela de propriedades.