FieldInfo - GetSignature
A FieldInfo extension method that gets signature.
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; } }