【问题标题】:C# Dynamics, System,DateTime and extension methods [duplicate]C# Dynamics、System、DateTime 和扩展方法
【发布时间】:2021-02-25 10:51:51
【问题描述】:

我从一个数据库类中获得了可枚举的动态对象,这些对象被声明为

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#


【解决方案1】:

Will the dynamic keyword in C#4 support extension methods?

Extension method and dynamic object

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

【讨论】:

    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    相关资源
    最近更新 更多