public static void Main()
FieldInfo constField = typeof(FieldModel<int>).GetField("ConstField", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
FieldInfo eventField = typeof(FieldModel<int>).GetField("EventField", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
FieldInfo internalField = typeof(FieldModel<int>).GetField("InternalField", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
Console.WriteLine(constField.GetDeclaraction());
Console.WriteLine(eventField.GetDeclaraction());
Console.WriteLine(internalField.GetDeclaraction());
public class FieldModel<T>
public const int ConstField = 1;
public static int StaticField;
public readonly int ReadOnlyField = 1;
public volatile int VolatileField = 1;
public event EventHandler EventField;
internal int InternalField;
protected internal int ProtectedInternalField;
private int PrivateField;
protected int ProtectedField;