扩展方法是否遵循开闭原理

问题描述 投票:0回答:1

我的问题是关于扩展方法和开闭原理:

  1. 为类创建扩展方法是否遵循开闭原理?

  2. 我如何测试使用扩展方法的类?

c# extension-methods open-closed-principle
1个回答
0
投票
  1. 为类创建扩展方法是否遵循开闭原理?

从技术上讲,是的,因为大多数正式定义都指出开放/封闭原则是“封闭修改,但开放扩展”。由于扩展方法不是修改原始类,而是仅对其进行扩展,因此扩展方法符合此定义。

  1. 我如何测试使用扩展方法的类?

就像其他测试一样:

示例扩展方法:

public static class Extensions
{
    public static string ToLowerAndTrim(this string source) => source.Trim().ToLower();
}

使用XUnit的测试用例:

[Fact]
public void SampleTest()
{
    string input = " Hello World ";
    string expected = "hello world";

    string actual = input.ToLowerAndTrim();

    Assert.Equal(expected, actual);
}
© www.soinside.com 2019 - 2024. All rights reserved.