这是我在 vb.net 中发现的一些我无法弄清楚的东西,我刚刚得到一个带有树视图的表单,然后是以下内容:
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
treeTest.Nodes.Add("a")
treeTest.Nodes(0).Test()
End Sub
测试是一种扩展方法:
Imports System.Runtime.CompilerServices
Public Module ExtModule
<Extension()>
Public Sub Test(ByRef node As TreeNode)
End Sub
End Module
如果我使用 ByRef 那么我的树视图看起来像:
通过 ByVal 我得到:
这似乎完全倒退了,如果我只是发送一个参考,为什么节点会出现两次,而如果我制作一个副本,它只会出现一次?