A byte[] to byte* property
<p>I am trying to create a property that will make a pointer (byte*) from my byte array (byte[]), this does work, however whenever I modify this returned pointer, my byte array will not be modified, this is a piece of the code I want to use.</p>

<pre><code>public unsafe class PacketWriter
{
    private readonly byte[] _packet; 
    private int _position;

    public byte* Pointer
    {
        get
        {
            fixed (byte* pointer = _packet)
                return pointer;
        }
    }

    public PacketWriter(int packetLength)
    {
      _packet = new byte[packetLength];   
    }

    //An example function
    public void WriteInt16(short value)
    {
        if (value &gt; Int16.MaxValue)
            throw new Exception("PacketWriter: You cannot write " + value + " to a Int16.");
        *((short*)(Pointer + _position)) = (short) value;
        _position += 2;
    }

    //I would call this function to get the array.
    public byte[] GetPacket
    {
        get { return _packet; }
    }
}
</code></pre>

<p>Also, I realize I could simply remove the property and put the code inside the function, that would probably work, however I am trying to figure out a way to do it using that property - unless this decreases performance, in that case please let me know.</p>
