【发布时间】:2013-03-25 07:58:43
【问题描述】:
我有以下 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());
【问题讨论】:
-
以后,请以文本的形式添加代码,而不是截图。
-
@Jon 我现在做到了.. 谢谢
-
CalcAge的计算错误:(
标签: .net c#-4.0 dynamic expandoobject