FieldInfo - GetSignature

A FieldInfo extension method that gets signature.

Try it

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);

    //C# Extension Method: FieldInfo - GetSignature
    string constFieldResult = constField.GetSignature();
	string eventFieldResult = eventField.GetSignature();
	string internalFieldResult = eventField.GetSignature();
	
	Console.WriteLine(constFieldResult);
	Console.WriteLine(eventFieldResult);
	Console.WriteLine(internalField);
}

public class FieldModel<T>
{
    #region Modifier

    public const int ConstField = 1;
    public static int StaticField;
    public readonly int ReadOnlyField = 1;
    public volatile int VolatileField = 1;
    public event EventHandler EventField;

    #endregion

    #region Visibility

    internal int InternalField;
    protected internal int ProtectedInternalField;
    private int PrivateField;
    protected int ProtectedField;
    public int PublicField;

    #endregion

    #region Generic

    public T GenericField;

    #endregion
}

View Source
using System.Reflection;

public static partial class Extensions
{
    /// <summary>A FieldInfo extension method that gets a declaraction.</summary>
    /// <param name="this">The @this to act on.</param>
    /// <returns>The declaraction.</returns>
    public static string GetSignature(this FieldInfo @this)
    {
        return @this.Name;
    }
}