Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Baaaw Oic en 1 Marzo 2010, 20:35 pm



Título: Como funciona el tostring en cualquier variable.
Publicado por: Baaaw Oic en 1 Marzo 2010, 20:35 pm
Si tengo una variable entera y quiero convertirla a string hago lo siguiente:

dim numero as integer = 10
dim texto as string=numero.tostring()

Listo ahora el numero es string.
Como cunfiona el string, supongo que quiero crear alo parecido por ejemplo.

dim numero as integer = 10
dim texto as string=numero.toABC()

Como puedo hacer posible eso... alguna idea .. ( el ejemplo solo es demostrativo )

Gracias


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: Shell Root en 1 Marzo 2010, 20:40 pm
Mi no entender? WTF!


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: Baaaw Oic en 1 Marzo 2010, 20:42 pm
Es decir que deseo crear algo parecido al tostring que se pueda aplicar a cualquier variable, objeto, etc...

por ejemplo el equivalente al tostring() seria toestructura() y este se debe poder aplicar a:

dim nm as integer=14
nm.toestructura()

dim ca as string = "lop"
ca.toestructura()

etc...etc...


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: [D4N93R] en 1 Marzo 2010, 20:52 pm
Hola, a los tipos de datos (clases) del framework, directamente no lo podras hacer. Pero puedes crear una clase tuya la cual herede de una de esas clases, si es que no son sealed, es decir selladas, luego le crearias un método adicional con la funcionalidad que tu quieres.

Si no me equivoco, esto se podrá hacer en el framework 4.0, es decir agregarle miembros a clases ya definidas, pero no me creas jejej

Un saludo!


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: Baaaw Oic en 1 Marzo 2010, 21:02 pm
Si en realidad lo que busco es  saber como se hace....


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: raul338 en 1 Marzo 2010, 21:59 pm
Código
  1. int.Parse(string); // Funciona con todos los tipos
  2. int.TryParse(string); // Aunque no se crea, a veces tira error :P
  3.  
Código
  1. Dim s As String = "45665"
  2. Dim i As Double = Double.Parse(s)
  3.  

en C# tambien tenes

string s = "54";
int i = s as int;

Eso es en las clases base del framework

En el .net framework 3.0 (que yo sepa, x ahi es en 4) tenes los "metodos extensores" en el que vos podes agregar metodos a clases ya creadas

Métodos extensores en C# (http://fjaumot.wordpress.com/2008/10/27/metodos-extensores-en-c/)

Y de ultima tenes boxing y unboxing aunque es considerado mala practica (hasta donde se)

C#
Código
  1. // boxing
  2. int i = 24;
  3. object o = i;
  4. ///.........
  5. // unboxing
  6. int i = o; // En el caso de que "o" no fuera int tira error
  7.  

Y si queres para tus propias clases o estructuras, eso ya tenes que implementarlo vos, crearte tu propio ToString(), ToLoQueSea();


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: MANULOMM en 2 Marzo 2010, 04:03 am
Extension es la respuesta como lo dice Raul...


Aqui dejo un par de videos con la explicación del tema.

Parte 1 (5 min)
http://www.screencast.com/users/JuanM_L/folders/Jing/media/5c930b22-3e75-4557-bd88-105788a4b7b2

Parte 2 (5 min)
http://www.screencast.com/users/JuanM_L/folders/Jing/media/225c8ceb-7d2f-4f3e-930d-75114a0127f8

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: Como funciona el tostring en cualquier variable.
Publicado por: [D4N93R] en 2 Marzo 2010, 17:49 pm
Exacto, extensions... :)