Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx_espanol thread: Consultilla C#


Message #1 by ricardo.yorky@p... on Mon, 15 Apr 2002 11:51:12 -0400
> -----Original Message-----
> From: ricardo.yorky@p...
>
>    Tengo un metodo Init() en una clase y al compilarlo en
> Visual Studio me
>    da el siguiente error :
>
> C:\Documents and Settings\YorkyR\Personal\My Webs\Planeta
> ASP.net\DesktopModules\EditImageBook.ascx.cs(29): The keyword
> new is required on
> 'ASPNetPortal.DesktopModules.EditImageBook.Init(System.EventAr
> gs)' because it hides inherited member 'System.Web.UI.Control.Init'
>
>
> Al parecer el metodo Init() es especial para la clase y
> quisiera saber a que se debe este error; pues no conozco bien
> c# , y no conozco mucho la sintaxis. En VB me funciona bien.
>

Ricardo, no es que el m=E9todo Init() sea especial, simplemente lo 
tienes definido tambi=E9n en la clase padre. Tienes dos opciones, o 
poner virtual en el padre y override en el hijo, o poner new en el hijo. 
Echale un ojo en la ayuda lo que supone cada uno, pero cuida que el 
resultado es bien distinto.

Class Padre{
  public virtual void Init1(){} 
  public void Init2(){}
}
Class Hijo:Padre{
  public override void Init1(){} 
  public new void Init2(){}
}


>
> 2. Otra parte de codigo , en donde tengo probloemas es el
> siguiente. Tengo una linea de condicio (if); en donde con
> VB.NET compruebo si lo que esta cargado en un textbox puede
> ser un numero : if (IsNumeric(myImageBook.ItemHeight)=3Dtrue)then
> pero me encontre que en C# no dispongo de la funcion
> IsNumeric... tengo entendido que la cosa se soluciona usando
> un try, pero no lo se usar... Alguien sabe alguna manera de
> lograr lo mismo usando c#

Prueba con algo as=ED,

   try
   {
      int x =3D Int32.Parse(myImageBook.ItemHeight);
      Console.WriteLine("Es un numero");
   }
   catch (Exception ex)
   {
      Console.WriteLine("No es un numero");
   }

Un saludo

  Return to Index