c# - 我可以将枚举添加到现有的 .NET 结构中,例如日期吗?

标签 c# .net vb.net enums extension-methods

显然微软在他们的日期结构中没有月枚举。
我想知道的是,是否可以创建一个枚举并将其附加到 DateTime 结构?立即想到扩展方法,但我不知道使用它们来实现这一点的方法。

Dim july As DateTime.Months = DateTime.Months.July

Public Enum Months
    January = 1
    February = 2
    March = 3
    April = 4
    May = 5
    June = 6
    July = 7
    August = 8
    September = 9
    October = 10
    November = 11
    December = 12
End Enum

有人对此有什么想法吗?

更新: 我不是要获取当前月份或给定日期的月份名称。我知道该怎么做。我只是想创建一个具有 Month 属性的类,并想使用 Enum 来表示月份。由于这似乎是一个在其他地方可能有用的项目,我讨厌将 Enum 放入我的类中,而宁愿将它“定位”在与其直接相关的结构中,以便可以轻松找到它。 感谢您的所有回复。我应该更清楚自己想做什么。

最佳答案

您不能像那样向现有类型添加属性。

但是您可以添加 extension method将从整数转换为相应的枚举值,或者简单地返回与月份对应的枚举值。

关于c# - 我可以将枚举添加到现有的 .NET 结构中,例如日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7903724/

相关文章:

VB.NET WinForms ListView 不显示列标题

c# - 为什么在 lambda 表达式中使用迭代变量不好

c# - 薛定谔的物体 : WPF property won't bind/update unless I check its value code-side?

c# - ListView 中指定列的粗体文本不起作用

c# - String.Split() 可以返回 null 吗? (。网)

c# - 如何在WPF中垂直拉伸(stretch)表单时自动增加多行文本框的高度

c# - DLL 中未处理的异常 : System. EntryPointNotFoundException

c# - 如何解决 .NET.CORE 中的代理服务器 407 错误

.net - 什么是仅为 session 启用 Mini-profiler 的简单方法?

c# - 使用 Roslyn,从字符串文字参数中找到调用方法