C# 通过了什么样的论证?

C# 通过了什么样的论证?,c#,wpf,function,C#,Wpf,Function,我对C比较陌生,我想知道在以下函数的Window分部类中传递了什么样的参数: public static void process(this Window window){...} 我知道类型是一个窗口,但为什么它似乎有参数-类型-参数语法?实际上,什么是作为参数传递的 谢谢 PS:我确实忘记了静态部分!对不起,伙计们 在这个方法中,您不传递任何参数。它是名为Window的类型的扩展方法。为了不被误解,我们可以将参数传递给扩展方法,但此扩展方法没有任何参数。因此,它可以像下面这样使用: win

我对C比较陌生,我想知道在以下函数的Window分部类中传递了什么样的参数:

public static void process(this Window window){...}
我知道类型是一个窗口,但为什么它似乎有参数-类型-参数语法?实际上,什么是作为参数传递的

谢谢


PS:我确实忘记了静态部分!对不起,伙计们

在这个方法中,您不传递任何参数。它是名为Window的类型的扩展方法。为了不被误解,我们可以将参数传递给扩展方法,但此扩展方法没有任何参数。因此,它可以像下面这样使用:

window.process()
其中window是window的一个实例


有关扩展方法的更多文档,请查看。

在该方法中,您不传递任何参数。它是名为Window的类型的扩展方法。为了不被误解,我们可以将参数传递给扩展方法,但此扩展方法没有任何参数。因此,它可以像下面这样使用:

window.process()
其中window是window的一个实例


有关扩展方法的更多文档,请查看。

假设您忘记了签名的静态部分,这是一个扩展方法。装饰器模式的替代方案,允许您向现有类添加功能。签名中的此项指定这是要扩展的类。例如:

var w = new Window();
w.Process();

假设您忘记了签名的静态部分,这是一个扩展方法。装饰器模式的替代方案,允许您向现有类添加功能。签名中的此项指定这是要扩展的类。例如:

var w = new Window();
w.Process();

假设您打算添加一个静态修饰符,这是一个extension方法,可以通过对象方法语法对其进行调整。尽管如此,编译器将在编译时将其转换为类型方法对象语法,它只是作为语法糖排列的第一种方式。这就是为什么有关无法识别的方法的错误包括不接受类型为。。。子句。

假设您打算添加一个静态修饰符,这是一个extension方法,可以通过对象方法语法对其进行调整。尽管如此,编译器将在编译时将其转换为类型方法对象语法,它只是作为语法糖排列的第一种方式。这就是为什么有关无法识别的方法的错误包括不接受类型为。。。子句。

这是一个C扩展方法特性。它允许您用代码扩展其他类

例如,您可以向int-type添加一个新方法

您发布的方法正在扩展Window类,并向其添加一个process方法。根据C标准,该方法的名称应与process类似。它允许您在代码中使用,如下所示:

window.process();

您可以在此处阅读更多如何使用它们的内容,例如:

这是一个C扩展方法功能。它允许您用代码扩展其他类

例如,您可以向int-type添加一个新方法

您发布的方法正在扩展Window类,并向其添加一个process方法。根据C标准,该方法的名称应与process类似。它允许您在代码中使用,如下所示:

window.process();

您可以在此处阅读更多如何使用它们的内容,例如:

不可编译这称为扩展Method@FlatEric这是一个错误的扩展方法。扩展方法必须是静态的。这不需要编译。这称为扩展Method@FlatEric这是一个错误的扩展方法。扩展方法需要是静态的。