Και ο λόγος που παίζεις με pointers είναι ???
Αν προσπαθείς να καλέσεις τη HostToNetworkOrder για μία 64bit τιμή καλύτερα να κάνεις ακριβώς αυτό. Να καλέσεις την HostToNetworkOrder η οποία δέχεται Long (64 bit) παραμέτρους. Δεν υπάρχει παραλλαγή η οποία δέχεται byte (8-bit) παραμέτρους, οπότε ο κώδικας σου δεν θα πετύχει αυτό που θέλεις έτσι κι αλλιώς. Αν σκεφτείς ότι η HostToNetworkOrder αλλάζει την σειρά 2 ή περισσότερων bytes, είναι εντελώς περιττό να την καλείς με 1 μόνο byte.
Όσον αφορά το error που βλέπεις, οφείλεται στο ότι προσπαθείς να χρησιμοποιήσεις κώδικα για C στη C#. Η fixed μπορεί να σου έδωσε ένα pointer στην αρχή ενός πίνακα, δεν μπορείς όμως να πειράξεις αυτόν τον pointer. Αυτό ακριβώς σημαίνει ότι είναι fixed.
Ομολογώ ότι δεν καταλαβαίνω γιατί προσπαθείς να χρησιμοποιήσεις pointers. Ακόμα και αν θέλεις να πάρεις τις τιμές ενός byte array μία μία, είναι πολύ ευκολότερο να το κάνεις χρησιμοποιώντας το temp
παρά αυτό που κάνεις.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos