用反射控制的,不过获取属性名称的方法,用方法形式获取的,不知道消耗大不大
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Qxun.Framework.Utility; using System.Linq.Expressions; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("int类型=》" + typeof(int).Name); Console.WriteLine(GetPropertyName<GetProperty>(u=>u.Name1)); //这个是拿所有名称的,不是那么灵活 string name = typeof(GetProperty).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)[1].Name; Console.WriteLine(name); Console.ReadKey(); } public static string GetPropertyName<T>(Expression<Func<T,string>> expr) { var name = ((MemberExpression)expr.Body).Member.Name; return name; } } public class GetProperty{ public string Name1 { get; set; } public string Name2 { get; set; } public string Name3 { get; set; } } }