在扩展方法中获取扩展方法的参数
本文关键字:方法 扩展 参数 获取 | 更新日期: 2023-09-27 18:21:39
假设我有方法:
public int Method(string param1, string param2)
{
return 0;
}
我有扩展方法
public static int Extend(this int mhd, string param1, string param2)
{
return mhd;
}
我会称之为
int N = Method("param1","param2").Extend("param1","param2");
但有了这个,我不得不定义两次参数。我想知道有没有办法得到这样的扩展方法参数:
public static int Extend(this int mhd)
{
var params = this.Parameters;
return mhd;
}
但有了这个,我不得不定义两次参数。我想知道有没有办法得到这样的扩展方法参数:
没有。扩展方法的第一个参数始终是方法所针对的类型。声明中需要此参数,因此如果要传入任何内容,则必须声明第二个参数。
为什么不把所有的代码放在一个方法中呢?
你能颠倒方法的依赖关系吗?换句话说,类似这样的东西:
int N = 0.Extend(Method("param1","param2"));
或者,类似这样的东西:
public int Method ( int mhd, string one, string two ) {
// do stuff...
return mhd.Extend ( one, two );
}