如何使用具有该属性名称的字符串变量访问对象属性?

时间:2009-05-28 07:54:36

标签: c#

如何在C#中执行此操作?

using System;

namespace TestProperties28373
{
    class Program
    {
        static void Main(string[] args)
        {
            Customer customer = new Customer { FirstName = "Jim", LastName = "Smith", Age = 34};

            Console.WriteLine(customer.FirstName);

            string propertyName = "FirstName";
            Console.WriteLine(customer.&&propertyName); //PSEUDO-CODE

            Console.ReadLine();

        }
    }

    class Customer
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }
    }
}

2 个答案:

答案 0 :(得分:20)

使用反射:

using System.Reflection;

...

PropertyInfo prop = typeof(Customer).GetProperty(propertyName);
object value = prop.GetValue(customer, null);

答案 1 :(得分:1)

使用System.ReflectionPropertyInfo