是否可以选择将this
作为参数自动传递给函数?例如,您可以使用[CallerMemberName]
自动传递string
名称。我正在寻找this
的确切选项。
示例:
void PassMeThis([AutomaticThisParam] object source);
和用法:
public class SomeClass{
void SomeMethod(){
PassMeThis(); // instead of PassMeThis(this)
}
}
答案 0 :(得分:5)
是的。这称为扩展方法。
创建一个静态类
Public static class MethodExtensions
像这样向其添加静态方法
public static PassMeThis(this SomeClass model) { // }
调用这样的方法(请参见您的代码示例):
this.PassMeThis()
它会自动填充。 希望这就是您想要的
答案 1 :(得分:1)
如果PassMeThis
与您的示例属于同一班级(或祖先),则没有意义,也可以在此处使用。
如果它是另一个类,则没有没有方法来自动获取对调用对象的引用:IS there any way to get a reference to the calling object in c#?