【发布时间】:2018-11-07 19:40:31
【问题描述】:
是否有自动将this 作为参数传递给函数的选项?例如,您可以使用[CallerMemberName] 自动传递string 名称。我正在寻找 this 的确切选项。
例子:
void PassMeThis([AutomaticThisParam] object source);
及用法:
public class SomeClass{
void SomeMethod(){
PassMeThis(); // instead of PassMeThis(this)
}
}
【问题讨论】:
-
PassMeThis()和PassMeThis(this)将是两个独立的方法,虽然 -
PassMeThis 方法在哪里?如果它在同一个类中,那么这个东西的目的是什么?
-
正如@Willie 回答的那样,您很可能正在寻找 .NET 扩展方法。或者,如果您想要在给定执行上下文(如线程)中由代码中的此类函数自动获取的默认上下文数据,那么还有其他替代方法 - 例如 ThreadStatic 字段。
标签: c# methods parameters