InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
También puedes ver ...
Creando cadenas de conexión ConnectionStrings en .net 3.5 o visual Studio 2008 usando SqlConnectionStringBuilder
Migración de WSE a WCF (Web Services de 2005 a 2008)
Reemplazar __doPostBack
¿El fin de los servidores de 32Bits?
TransactionScope - Simplificando el trabajo con transacciones.
Google Trends, adiós Alexa adiós ...
Fiddler - Indispensable para el desarrollo Web
Cómo activar Intelisense (autocompletado) en el Web.config
Leer un campo XML de SQL Server 2005 con C#
Mostrar un GridView dentro de un DataList

Afiliados
La Web del programador
MundoProgramacion


 

Como clonar objetos .net: implementando Iclonable

Si asignamos un objeto a otro usando el simbolo = lo que tenemos es dos variables apuntando a la misma instancia si cambiamos uno cambiamos el otro y si destruimos uno destruimos el otro, si lo que queremos es una copia del objeto el simbolo = no nos vale,

Algunos objetos  de .net como la clase  DataSet incorporan el metodo Clone() para hacer copias de objetos

Pero si queremos una funcionalidad similar en nuestros propios objetos tendremos que hacerlo a mano

¿Como? implementando la interfaz IClonable

Aqui teneis un ejemplo en Visual Basic si queremos hacerlo en C# simplemente hay que cambiar Implements por : (dos puntos)

Public Class CEmpleado

Implements ICloneable

 

'Declaramos las variables publicas en vez de usar propiedades por simplicidad

Public M_nombre

Public M_apellido

 

'Las funciones no necesitan clonarse

Public Function QuienSoy() As String

Return M_nombre & "" & M_apellido

End Function

 

Public Function Clone() As Object Implements System.ICloneable.Clone

'Creamos una instancia de mi mismo, es perfectamente posible

Dim EmpleadoClonado As New CEmpleado

 

'La copia tiene que ser miembro a miembro

EmpleadoClonado.M_nombre = Me.M_nombre

EmpleadoClonado.M_apellido = Me.M_apellido

 

'Devolvemos el objeto que acabamos de crear

Return EmpleadoClonado

End Function

End Class

 

 

Una vez hecho esto sólo tenemos que llamar al metodo Clone sobre la instancia de nuestro objeto de tipo Cempleado

Para más información sobre los interfaces podeis echar un ojo a esta página:

http://www.devjoker.com/asp/ver_contenidos.aspx?co_contenido=165


 Versión para imprimir  Foros de consulta


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



 Versión para imprimir

Como clonar objetos .net implementando Iclonable
Autor: Pablo Gumpert Fernandez (aldeamedia)
Visitas: 2412 Fecha de publicación: 21/01/2007
Pablo Gumpert es formador y consultor oficial de Microsoft para .NET y SQL server.Lleva desarrollando desde hace más de diez años y durante ese tiempo ha trabajado como programador de videojuegos ,analista informático, experto en seguridad, DBA ...
Actualmente se dedica sobre todo a la formación.
Su especialidad es la programación en .NET aunque también es experto en MSSQL Server y en el año 2002 fundó su propia empresa colaboradora de diversos centros partner Microsoft.




Visitas: 310 | Comentarios: 0 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|ADO.NET
27/09/2008 Navegando ....
Visitas: 85 | Comentarios: 0 | Archivo: Articulos
Categorias: Humor
Visitas: 207 | Comentarios: 0 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|WCF
Visitas: 937 | Comentarios: 0 | Archivo: Articulos
Categorias: C#
Visitas: 209 | Comentarios: 0 | Archivo: Articulos
Categorias: JavaScript|ASP.NET
Visitas: 675 | Comentarios: 0 | Archivo: Articulos
Categorias: Windows XP|Linux|Windows Vista
Visitas: 455 | Comentarios: 0 | Archivo: Articulos
Categorias: Linux|BSD
Visitas: 236 | Comentarios: 0 | Archivo: Articulos
Categorias: Programación|Actualidad
18/08/2008 SQL Server 2008
Visitas: 1135 | Comentarios: 1 | Archivo: Articulos
Categorias: Transact-SQL
Visitas: 789 | Comentarios: 0 | Archivo: Articulos
Categorias: C#|ADO.NET|LinQ

Útimos temas recibidos en los foros ...
Coastal Inversiones SAC Coastal Vacations Oportunidad de Negocios por lecasur ... [ASP.NET] 0 11/10/2008
Negocios Rentables desde tu Hogar Coastal Vacations por lecasur ... [Access] 0 11/10/2008
COASTAL VACATIONS OPORTUNIDAD DE NEGOCIOS RENTABLES por lecasur ... [Actualidad] 0 11/10/2008
hacer el nombre de una tabla variable por leicolei ... [SQL Server] 2 10/10/2008
ayuda por yo ... [C#] 2 09/10/2008
Mostar nombre en una sesion de usuario por jhors ... [ASP.NET] 1 10/10/2008
Analista por Rolando ... [SQL Server] 0 10/10/2008
SQL dinámico en TRIGGERS por Alastor ... [ORACLE] 2 03/10/2008
Crystal Reports 8.5 por selvinalberto ... [Visual Basic 6.0] 0 10/10/2008
Agregar Columnas a un datagridview por Tony ... [Visual Basic .NET] 3 20/11/2007
Problema cargando un pl/sql Embebido en Pro*C por ejrivas ... [ORACLE] 0 10/10/2008
Verificar conexion a internet por giraldo ... [Visual Basic .NET] 3 11/12/2006

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
22/03/2008 Problemas al conectar a redes wifi con Windows Vista
28/08/2006 Ubuntu en VmWare con VMware Tools
19/10/2005 Configurar el IIS para ejecutar aplicaciones ASP.net
05/08/2007 Como ver peliculas descargadas en Windows Vista
19/10/2005 Una clase sencilla para encriptar cadenas
19/08/2006 Vitualización. Maquinas Virtuales.
03/10/2006 Programacion con C#    forma parte de...Tutorial C#
16/08/2007 Operaciones con conjuntos.    forma parte de...Tutorial de Transact SQL
03/10/2006 Estrcuturas de control.    forma parte de...Tutorial C#
26/08/2007 Transacciones en Transact SQL    forma parte de...Tutorial de Transact SQL

 

Encuesta
¿A que perfil te adaptas mejor?
[Ver] [Votar]