Get field by binding constraints in CSharp
Description
The following code shows how to get field by binding constraints.
Example
//from w ww . j a v a2 s.c om
using System;
using System.Reflection;
public class MyFieldClassA
{
public string Field = "A Field";
}
public class MyFieldClassB
{
private string field = "B Field";
public string Field
{
get
{
return field;
}
set
{
if (field!=value)
{
field=value;
}
}
}
}
public class MyFieldInfoClass
{
public static void Main()
{
MyFieldClassB myFieldObjectB = new MyFieldClassB();
MyFieldClassA myFieldObjectA = new MyFieldClassA();
Type myTypeA = typeof(MyFieldClassA);
FieldInfo myFieldInfo = myTypeA.GetField("Field");
Type myTypeB = typeof(MyFieldClassB);
FieldInfo myFieldInfo1 = myTypeB.GetField("field",
BindingFlags.NonPublic | BindingFlags.Instance);
Console.WriteLine(myFieldInfo.GetValue(myFieldObjectA));
Console.WriteLine(myFieldInfo1.GetValue(myFieldObjectB));
}
}
The code above generates the following result.