elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Quiero ver el código del método array.Clone() de C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Quiero ver el código del método array.Clone() de C#  (Leído 3,376 veces)
DanteInfernum

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Quiero ver el código del método array.Clone() de C#
« en: 25 Agosto 2013, 23:54 pm »

Me interesaría estudiar qué es lo que realmente hace el método Clone, paso a paso. Para esto, he estado intentando verlo a través de Reflector.

Lo que obtengo es lo siguiente:

Código:
public object Clone()
{
    return base.MemberwiseClone();
}

Veo que este método invoca a otro, o sea, a MemberwiseClone().
Lo busco:

Código:
[MethodImpl(MethodImplOptions.InternalCall), SecuritySafeCritical]
protected extern object MemberwiseClone();

Y acá directamente ya no entiendo más nada...
¿Por qué no veo el método expresado sentencia a sentencia, de la misma forma que el resto?

 


En línea

Juan.

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Quiero ver el código del método array.Clone() de C#
« Respuesta #1 en: 26 Agosto 2013, 00:27 am »

Hay cosas que no se pueden ver, esta por ejemplo o como se hace un .read/.next

Son demasiado internas y yo creo que no está programado en C#, sino en C o en ensamblador directamente


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Quiero ver el código del método array.Clone() de C#
« Respuesta #2 en: 26 Agosto 2013, 05:15 am »

El codigo .net pasa a ser transformado a codigo CIL/MSIL y es ahí donde va toda la magia :P capaz las llamadas van ahí
En línea

DanteInfernum

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Quiero ver el código del método array.Clone() de C#
« Respuesta #3 en: 26 Agosto 2013, 21:59 pm »

Ok, gracias por sus respuestas.
Era nada más por simple curiosidad. Hace poco descubrí el método Clone. Hasta ahora, cuando necesitaba por ejemplo copiar una matriz en otra, lo implementaba yo mismo al método, y me preguntaba si C# haría algo parecido a lo que yo hago.
En línea

Juan.

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Quiero ver el código del método array.Clone() de C#
« Respuesta #4 en: 27 Agosto 2013, 16:05 pm »

No, el clone de C# y de Java lo que hacen es una copia directa en memoria de los valores, vamos lo que es copiar el contenido de un puntero de toda la vida y seguro que no tiene nada que ver porque imagino que usaras una estructura iterativa como while o for
En línea

DanteInfernum

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Quiero ver el código del método array.Clone() de C#
« Respuesta #5 en: 27 Agosto 2013, 18:53 pm »

Sí, tengo entendido que lo que hace Clone es crear un nuevo objeto idéntico al que estoy copiando. En cambio, lo que yo hacía era modificar los valores de una matriz ya existente mediante un for.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
codigo de pagina html a variable o array????
PHP
gm-vl 3 2,268 Último mensaje 3 Agosto 2007, 11:31 am
por Agente Naranja
duda en codigo con array
Java
__Horus__ 3 2,667 Último mensaje 16 Marzo 2008, 04:06 am
por __Horus__
Ayuda con código para re ordenar array « 1 2 3 »
Programación C/C++
ZedGe 21 8,964 Último mensaje 7 Abril 2013, 16:37 pm
por 85
Ayuda con código de Método Gráfico
Programación C/C++
losto 1 2,028 Último mensaje 28 Septiembre 2014, 23:19 pm
por Caster
Metodo clone() cola doble enlazada
Java
alex_alex 0 1,498 Último mensaje 18 Octubre 2014, 22:16 pm
por alex_alex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines