首页 > 解决方案 > C# Dynamics、System、DateTime 和扩展方法

问题描述

我从声明为的数据库类中获取可枚举的动态对象

IEnumerable<dynamic> sessions = null

我有一个扩展方法,可以人性化日期时间,添加日期序号等。

DateTime.Now.HumanisedDate()

这有效,但我不能直接在动态对象上应用扩展方法

session.STARTDATE.HumanisedDate()

但是 session.STARTDATE 的 GetType() 说 System.DateTime

如果我这样做

DateTime whatever = session.STARTDATE;
whatever.HumanisedDate()

一切都很好。我想了解为什么 session.STARTDATE 被报告为 DateTime 类型,但我无法对其应用 DateTime 扩展。谢谢大家。

标签: c#

解决方案


C#4 中的 dynamic 关键字是否支持扩展方法?

扩展方法和动态对象

详细了解为什么扩展方法在动态对象上不可用。


推荐阅读