在C#中是否有一种使用反射来确定方法是否已作为扩展方法添加到类的技术?
给定一个扩展方法,如下所示,可以确定Reverse()已被添加到字符串类?
public static class StringExtensions
{
public static string Reverse(this string value)
{
char[] cArray = value.ToCharArray();
Array.Reverse(cArray);
return new string(cArray);
}
}
Run Code Online (Sandbox Code Playgroud)
我们正在寻找一种机制,在单元测试中确定扩展方法是由开发人员适当添加的.尝试这种情况的一个原因是,开发人员可能会在实际的类中添加类似的方法,如果是,编译器将选择该方法.
在本讨论中(创建流畅的API),响应表明Builder模式比使用Extension方法创建Fluent接口要好.
这可能是什么原因?扩展方法遵循SOLID原则中的"O"......我个人只使用扩展方法来开发Fluent接口,但我想知道是否需要重新考虑这个...