I'm writing classes to decode and persist Message's sent via TCP.  Each message contains many DataField's.  I have a simple class DataField class that holds some meta data, including a private byte[] _content;public byte[] Content{    get    {        return _content;    }    set    {        _content = value;    }}I then inherit DataField to do the customised fields as required    public GPSData(byte[] content)    {        this.FieldId = 0;        this.FieldName = GPS Data;        this.FixedFieldLength = 21;        this.RecordLength = 1;        this.LengthType = DataFieldLengthType.Fixed;        this.ActualFieldLength = content.Length;        this.Content = content;        if (ActualFieldLength != FixedFieldLength)        {            string message = this.FieldName +  is of Data Type  + LengthType.ToString() + .  The ActualFieldLength passed in must match the FixedFieldLength;            throw new ArgumentOutOfRangeException(message);        }        int i = 0;        GPSUTCDateTime = BitConverter.ToUInt32(content, i);        i += sizeof(UInt32);        Latitude = BitConverter.ToInt32(content, i);        i += sizeof(Int32);        Longitude = BitConverter.ToInt32(content, i);        i += sizeof(Int32);        Altitude = BitConverter.ToInt16(content, i);        i += sizeof(Int16);        TwoDGroundSpeed = BitConverter.ToUInt16(content, i);        i += sizeof(UInt16);        SpeedAccuracyEstimate = content[i];        i += sizeof(byte);        TwoDHeading = content[i];        i += sizeof(byte);        PDOP = content[i];        i += sizeof(byte);        PositionAccuracyEstimate = content[i];        i += sizeof(byte);        GPSStatusFlags = content[i];    }}Is this.Content = content; correct o ensure the array is assigned properly?Should I perhaps use content.CopyTo(Content, 0);Or is there another more correct option I should use.Mostly worried because I don't see a new declaration in the class for the array to be allocated.
Assignment of Array to Property in class constructor
c#;object oriented;array