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);
string constFieldResult = constField.GetDeclaraction();
string eventFieldResult = eventField.GetDeclaraction();
string internalFieldResult = internalField.GetDeclaraction();
Console.WriteLine(constFieldResult);
Console.WriteLine(eventFieldResult);
Console.WriteLine(internalFieldResult);
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;