Initializecomponent y propiedades

19/10/2008 - 21:19 por Luisa Goicochea | Informe spam
Creo una clase heredada de textbox llamada pText y le creo una propiedad
llamada: prop1 y la defino como Browsable(false) para que no aparezca en la
ventana de propiedades.

public class pText : TextBox
{
string prop1="";
[Browsable(false)]
public string Prop1 {get {return prop1;} set {prop1=value;}}
}

Luego en un form voy y agrego un textbox de esa clase y observo que en el
InitializeComponent del form me agrega esta linea:

this.pText1.Prop1 = "";

Incluso si le quito la inicializacion me pone:

this.pText1.Prop1 = null;

Como evitar que el InitializeComponent haga esta esa asignacion a esa
propiedad? se configura en alguna parte?

Preguntas similare

Leer las respuestas

#1 xcal
20/10/2008 - 11:57 | Informe spam
Creo que no hay problema en que la inicie en null,
porque null = "" para strings.

Si no quieres que sea null, basta darle un valor distinto a null.
Lo que pasa es que todo objeto declarado no apunta a ningun lugar
y por eso es null.

espero ayude, Carlos.

"Luisa Goicochea" wrote in message
news:%23pSmg%
Creo una clase heredada de textbox llamada pText y le creo una propiedad
llamada: prop1 y la defino como Browsable(false) para que no aparezca en


la
ventana de propiedades.

public class pText : TextBox
{
string prop1="";
[Browsable(false)]
public string Prop1 {get {return prop1;} set {prop1=value;}}
}

Luego en un form voy y agrego un textbox de esa clase y observo que en el
InitializeComponent del form me agrega esta linea:

this.pText1.Prop1 = "";

Incluso si le quito la inicializacion me pone:

this.pText1.Prop1 = null;

Como evitar que el InitializeComponent haga esta esa asignacion a esa
propiedad? se configura en alguna parte?



Respuesta Responder a este mensaje
#2 Alberto Poblacion
20/10/2008 - 12:24 | Informe spam
"xcal" wrote in message
news:
porque null = "" para strings.



Una observación: no da igual que un string sea null o sea "". Por
ejemplo, si ejecutas int longitud=miCadena.Length; entonces te devuelve cero
si miCadena es "", pero te lanza una excepción si MiCadena es null.
Respuesta Responder a este mensaje
#3 xcal
20/10/2008 - 13:17 | Informe spam
gracias Alberto, buena observacion. Carlos.

"Alberto Poblacion" wrote
in message news:%
"xcal" wrote in message
news:
> porque null = "" para strings.

Una observación: no da igual que un string sea null o sea "". Por
ejemplo, si ejecutas int longitud=miCadena.Length; entonces te devuelve


cero
si miCadena es "", pero te lanza una excepción si MiCadena es null.

Respuesta Responder a este mensaje
#4 Luisa Goicochea
20/10/2008 - 13:33 | Informe spam
Gracias pero no era la pregunta sino el comportamiento del
InitializeComponent. Ejemplo si tengo codigo en el set de la propiedad puede
que no me interese que se ejecute alli pero el designer la inicializa de
todos modos.


"xcal" escribió en el mensaje
news:
Creo que no hay problema en que la inicie en null,
porque null = "" para strings.

Si no quieres que sea null, basta darle un valor distinto a null.
Lo que pasa es que todo objeto declarado no apunta a ningun lugar
y por eso es null.

espero ayude, Carlos.

"Luisa Goicochea" wrote in message
news:%23pSmg%
Creo una clase heredada de textbox llamada pText y le creo una propiedad
llamada: prop1 y la defino como Browsable(false) para que no aparezca en


la
ventana de propiedades.

public class pText : TextBox
{
string prop1="";
[Browsable(false)]
public string Prop1 {get {return prop1;} set {prop1=value;}}
}

Luego en un form voy y agrego un textbox de esa clase y observo que en
el
InitializeComponent del form me agrega esta linea:

this.pText1.Prop1 = "";

Incluso si le quito la inicializacion me pone:

this.pText1.Prop1 = null;

Como evitar que el InitializeComponent haga esta esa asignacion a esa
propiedad? se configura en alguna parte?







Respuesta Responder a este mensaje
#5 Luisa Goicochea
20/10/2008 - 13:34 | Informe spam
porque null = "" para strings.




Ademas eso no puede ser cierto.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida