私はC#が初めてで、前進するにつれてゆっくりと学習しています。コンソール アプリケーションで、表示したいプロパティの名前を入力できるようにしたいと考えています。私が遭遇した問題は、ReadLine が文字列を返し、その文字列を実際のプロパティへの参照に変換する方法がわからないことです。
私がやろうとしていることを説明するために簡単な例を書きました。この例では、2 回取得した入力のみを入力します。
試してみtypeof(Person).GetProperty(property).GetValue().ToString()
ましたが、0 の引数を取る GetValue のオーバーロードがないというエラー メッセージしか表示されません。
ありがとうリッカード
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();
}
}
}