我想在一个方法上调用扩展方法,以使我的代码混乱而又轻巧。这可能吗?
namespace SandBox
{
static class Extensions
{
public static void Test<T1, T2>(this Action<T1, T2> action, T1 p1, T2 p2)
{
Console.WriteLine("From extension");
action(p1, p2);
}
}
class Program
{
static void Main(string[] args)
{
Program temp = new Program();
temp.MyMethod("hello", "world");
Extensions.Test(temp.MyMethod, "Hello1", "world1");
//temp.MyMethod.Test("Hello2", "world2");
Action<string, string> myAction = (p1, p2) => temp.MyMethod(p1, p2);
myAction.Test("Hello3", "World3");
}
public void MyMethod(string s1, string s2)
{
Console.WriteLine($"s1:{s1}, s2:{s2}");
}
}
}
为什么我不能使用以下语法调用扩展方法:[method]。[Extension]([param1],[param2]);?有什么办法可以做到这一点?
谢谢