Copy codeThe Code is as follows: using System;
Using System. Collections. Generic;
Using System. Linq;
Using System. Linq. Expressions;
Using System. Text;
Using System. Threading. Tasks;
Namespace ConsoleApplication
{
Class Program
{
Class Test
{
Public string PropertyJustForTest1 {get; set ;}
Public Test PropertyJustForTest2 {get; set ;}
}
Static void Main (string [] args)
{
Test test = new Test ();
Console. WriteLine (GetPropertyNameHelper. GetPropertyName <object> () => test. PropertyJustForTest1 ));
Console. WriteLine (GetPropertyNameHelper. GetPropertyName <object> () => test. PropertyJustForTest2 ));
}
}
Static class GetPropertyNameHelper
{
Public static string GetPropertyName <T> (Expression <Func <T> express)
{
Var memberExpress = express. Body as MemberExpression;
If (memberExpress! = Null)
{
Return memberExpress. Member. Name;
}
Else
{
Return string. Empty;
}
}
}
}