c# - 如何使用 C# 扩展方法扩展类?

标签 c# extension-methods

<分区>

扩展方法可以应用于类吗?

例如,扩展 DateTime 以包含可以像这样调用的 Tomorrow() 方法:

DateTime.Tomorrow();

我知道我可以用

static DateTime Tomorrow(this Datetime value) { //... }

或者

public static MyClass {
  public static Tomorrow() { //... }
}

对于类似的结果,但我如何扩展 DateTime 以便我可以调用 DateTime.Tomorrow?

最佳答案

使用 extension method .

例如:

namespace ExtensionMethods
{
    public static class MyExtensionMethods
    {
        public static DateTime Tomorrow(this DateTime date)
        {
            return date.AddDays(1);
        }    
    }
}

用法:

DateTime.Now.Tomorrow();

AnyObjectOfTypeDateTime.Tomorrow();

关于c# - 如何使用 C# 扩展方法扩展类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188224/

相关文章:

c# - 405(方法不允许)并被 CORS 策略阻止

c# - 将 .NET 分析器的目标框架升级到 .NET 5.0 会产生什么后果?

ios - 不调用 Cocoapods 库协议(protocol)的扩展

c# - 为什么 SortedSet 不能用作优先级队列或最小堆?

c# - .NET Core netstandard 1.2 类库中不存在 BindingFlags

c# - 捕获的正则表达式超出预期

c# - 如何为 int、double、float 等正确编写数学扩展方法?

c# - 为什么一些 HtmlHelper 方法实现为扩展方法

c# - ParameterInfo 是扩展方法参数?

ios - UILabel 扩展,用户定义的运行时属性