我们说有两个功能。
<Grid>
<GroupBox Header="Header">
<GroupBox.Style>
<Style TargetType="{x:Type GroupBox}">
<Setter Property="Background" Value="white"/>
</Style>
</GroupBox.Style>
<Label Content="dsfdsfdsf" Foreground="Black" />
</GroupBox>
</Grid>
当我通过假设条形码而不需要参数来呼叫function foo(callback) {
...
}
function bar() {
...
}
和foo(bar)
时有什么不同?
我最近前一个关于foo(() => bar())
上下文发生了错误,而第二个工作正常。我知道箭头函数将this
上下文绑定到函数中,我不知道它的区别是什么。
仅供参考,这是有问题的代码。
this
我刚发现问题可能与上下文无关。它可能是应用或绑定的东西。因为第2行和第3行工作正常,而只有第1行显示错误。
答案 0 :(得分:2)
首先,您所描述的内容与箭头功能无关。
public class MainActivity extends AppCompatActivity implements OnCompleteListener<Void>{
的值取决于函数如何调用。当函数是对象的属性并被称为this
时,foo.bar()
内的this
将引用foo.bar
。
因此,在最后两个示例中,foo
将引用this
而不是socket
。
在您的第一个示例中,socket.connect
将引用另一个值,因为该函数不会作为this
的方法执行。但socket
可能希望socket.connect
提到this
。
简化示例:
socket