Propiedades condicionales

20/07/2006 - 16:45 por Hugo Gsell | Informe spam
Tengo una clase... que tiene unas utilidades.. es decir, en mis proyectos
las utilizo como una referencia a una dll...
Tengo una clase que tiene una propiedad HabilitaMetodos tipo booleana

si esta es true... esto me permitirá configirar independiente variás otras
propiedades y/ó metodos.

Lo que deseso es que si es false... es decir NO SE ADMINTEN LOS METODOS.
esos metodos/propiedades dependientes NO ESTEN DISPONIBLES.. es decir, que
ni aparezcan en la ayuda inteligente de .net para poder selecionarlos

Hugo A. Gsell
Sgo del Estero
Argentina
 

Leer las respuestas

#1 Jesús López
20/07/2006 - 17:52 | Informe spam
Eso es totalmente imposible.

Sin embargo quizá podría solucionar el problema de fondo usar un patrón de
factoría y una estructura de clases.

La clase factoría tiene un método Crear:

Public Shared Sub CrearObjeto( Parametros ) As ClaseConPropiedades
If se cumple una condición Then
Dim obj = New ClaseConPropiedades
return ClasePropiedades
Else
Dim obj = New ClaseConPropiedadesYMetodos
retrun ClaseConPropiedadesYMetodos
End If
End Sub

Una ClaseConPropiedades tiene sólo las propiedades y su constructor es
Friend, con lo que sólo puede crearse objetos de esta clase dentro de la
propia librería de clases

Public Class ClaseConPropiedades
' Escribir las propiedades

Friend Sub New()

End Sub
End

Una clase con métodos que hereda de la clase con propiedades.

Public Class ClaseConPropiedadesYMetodos
Inherits ClaseConPropiedades

Friend Sub New()

End Sub

'Implementar los métodos
End


Desde la aplicación que hace referencia a esta librería los objetos se crean
de esta manera:

Dim ObjetoConPropiedades As ClaseConPropiedades = Factoria.CrearObjeto(
Parametros )

Dim ObjetoConPropiedadesYMetodos As ClaseConPropiedadesYMetodos= TryCast(
ObjetoConPropiedades, ClaseConPropiedadesYMetodos)
If ObjetoConPropiedadesYMetodos IsNot Nothing then
ObjetoConPropiedadesYMetodos .Metodo1( Parametros )
End If

Saludos:

Jesús López




"Hugo Gsell" escribió en el mensaje
news:
Tengo una clase... que tiene unas utilidades.. es decir, en mis proyectos
las utilizo como una referencia a una dll...
Tengo una clase que tiene una propiedad HabilitaMetodos tipo booleana

si esta es true... esto me permitirá configirar independiente variás otras
propiedades y/ó metodos.

Lo que deseso es que si es false... es decir NO SE ADMINTEN LOS
METODOS. esos metodos/propiedades dependientes NO ESTEN DISPONIBLES..
es decir, que ni aparezcan en la ayuda inteligente de .net para poder
selecionarlos

Hugo A. Gsell
Sgo del Estero
Argentina

Preguntas similares