Access private fields
.net, c#, private
Solution
You can use reflection as suggested by Quantic Programming
var guid = Guid.NewGuid();
var field= typeof (Guid).GetField("_c", BindingFlags.NonPublic |BindingFlags.GetField | BindingFlags.Instance);
var value = field.GetValue(guid);
Although if you are okay with first converting the guid to a byte array, I might suggest:
var guid = Guid.NewGuid();
var c = BitConverter.ToInt16(guid.ToByteArray(), 6);
The latter approach avoids using reflection.
Edit
You mention needing to be able to set the value as well, you can still avoid reflection:
var guid = Guid.NewGuid();
var guidBytes = guid.ToByteArray();
// get value
var c = BitConverter.ToInt16(guidBytes, 6);
// set value
Buffer.BlockCopy(BitConverter.GetBytes(c), 0, guidBytes, 6, sizeof(Int16));
var modifiedGuid = new Guid(guidBytes);
Problem
Is it possible to get or set private fields? I want to get `System.Guid.c`. Is there a way to access it or should I just copy the code from the strut and make the fields public?