Іноді потрібно отримати доступ до private полів класу, а у вас немає можливості модифікувати клас. Це можна зробити так:
static void Main(string[] args)
{
PrivateClass myPrivateClass = new PrivateClass();
// input from ToString() at the beginning to see the content
Console.WriteLine(myPrivateClass);
FieldInfo fi = typeof(PrivateClass).GetField("_privateText", BindingFlags.NonPublic | BindingFlags.Instance);
String valueFromPrivateField = fi.GetValue(myPrivateClass).ToString();
Console.WriteLine("And this was read with reflection: {0}", valueFromPrivateField);
}
static void Main(string[] args)
{
PrivateClass myPrivateClass = new PrivateClass();
// input from ToString() at the beginning
Console.WriteLine(myPrivateClass);
FieldInfo fi = typeof(PrivateClass).GetField("_privateText", BindingFlags.NonPublic | BindingFlags.Instance);
fi.SetValue(myPrivateClass, "but I''m going to change you!");
Console.WriteLine(myPrivateClass);
}