你可以自动传递"this"作为参数吗?

Kuk*_*ker 0 c# parameters methods

是否有自动this作为参数传递给函数的选项?例如,您可以使用[CallerMemberName]自动传递string名称.我正在寻找确切的选择this.

例:

void PassMeThis([AutomaticThisParam] object source);
Run Code Online (Sandbox Code Playgroud)

和用法:

public class SomeClass{    
    void SomeMethod(){
        PassMeThis(); // instead of PassMeThis(this)
    }
}
Run Code Online (Sandbox Code Playgroud)

Wil*_*lie 5

是的,一点没错.这称为扩展方法.

  1. 创建一个静态类 Public static class MethodExtensions

  2. 像这样添加一个静态方法 public static PassMeThis(this SomeClass model) { // }

  3. 像这样调用这个方法(参考你的代码示例): this.PassMeThis()

它自动填充.我希望那就是你要找的东西

  • VB中的@RyanPierceWilliams你需要它.在C#中,通过在param签名中使用`this`关键字自动清除 (4认同)