Results 1 to 7 of 7

Thread: copying the value of a reference type

Threaded View

  1. #1

    Thread Starter
    Pro Grammar chris128's Avatar
    Join Date
    Jun 2007
    Location
    England
    Posts
    7,604

    copying the value of a reference type

    I've got a class, lets call it Person, which needs to keep some data (in the form of another class which we will call PersonData) in one of its properties - the problem is that I will have several instances of this person class and they all need their own 'copy' of the data (just in memory, its not a file or anything).Hhow would I do this? At the moment because everything involved is a Reference type, I'm assuming that if I were to create 2 instances of my Person classes and assign the same instance of the PersonData class to their properties then when one Person class made a change to the PersonData it would be reflected in the other Person class right? How can I avoid that and make it so that they both have their own version of the data, without having to repeat the procedure that fetches the data in the first place?

    I'll explain my exact situation just in case it helps, but this is more of a general question as I could probably get around it in this case by copying the byte array I receive from the server (hopefully that will make sense once you read the explanation below) :
    In this case the data I am talking about copying is actually received from a server via TcpClient. The thing is, when the client requests the data from the server over the network, the server has to go off and query several other servers etc so I do not want to be requesting data from the server every single time as that would be a big waste of resources and time. So when a request is made and data is received back from the server, several of these Person class instances will be created (in reality, its a few different classes but that doesnt make a difference for this example) and each need to have access to the full data that the server has sent back but in some cases the Person instances might need to modify the data and this is where the problem appears as they will all be working on the same data.

    I've found this MemberWiseClone method which I am just reading up on at the moment but perhaps someone can tell me if that is the route I should be going down or if there is another way? http://msdn.microsoft.com/en-us/libr...wiseclone.aspx

    Cheers
    Chris
    Last edited by chris128; Jan 12th, 2010 at 06:05 PM.
    My free .NET Windows API library (Version 2.2 Released 12/06/2011)

    Blog: cjwdev.wordpress.com
    Web: www.cjwdev.co.uk


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width