私は次のexpandoオブジェクトを持っています
dynamic person = new ExpandoObject();
person.FirstName = " FirstName ";
person.SecondName = " FirstName ";
person.FullName = person.FirstName + person.SecondName;
person.BirthDate = new DateTime(1990, 1, 1);
person.CalcAge = (Func<int>)
(() => DateTime.Now.Year - person.BirthDate.Year);
年齢を計算するメソッドを定義CalcAge
します..以下のようなパラメータを持つオーバーロードされたメソッドを追加したい
person.CalcAge = (Func<DateTime, int>)
((DateTime date) => date.Year - person.BirthDate.Year);
以下を実行できるようにするにはどうすればよいExpandoObject
ですか?
int age1 = person.CalcAge();
MessageBox.Show(age1.ToString());
int age2 = person.CalcAge2(new DateTime(1980, 1, 1));
MessageBox.Show(age2.ToString());