public Z.Pointer this[int index] { get { Z.Pointer t = array[index]; return t; } set { SetDirty(); array[index] = value; } }