我是 C# 的新手,并且随着我的前进而慢慢学习。在控制台应用程序中,我希望能够输入要显示的属性的名称。我偶然发现的问题是 ReadLine 将返回一个字符串,我不知道如何将该字符串转换为对实际属性的引用。
我写了一个简单的例子来解释我想要做什么。该示例现在将只输入它获得两次的任何输入。
我已经尝试过typeof(Person).GetProperty(property).GetValue().ToString()
,但我得到的只是一条错误消息,指出 GetValue 没有采用 0 个参数的重载。
谢谢里卡德
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace AskingForHelp1
{
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.FirstName = "Mike";
p.LastName = "Smith";
p.Age = 33;
p.displayInfo(Console.ReadLine());
}
}
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public UInt16 Age { get; set; }
public Person()
{
FirstName = "";
LastName = "";
Age = 0;
}
public void displayInfo(string property)
{
Console.WriteLine(property + ": " + property);
Console.ReadKey();
}
}
}