注意到一个属性获得解雇(并放慢我们的应用程序),所以进一步看看。现在,我知道这个属性不需要或在任何地方引用(作为证据,我只是删除了它,应用程序仍然正常运行)。
然而令人费解的是,一旦我们恢复并重新启动应用程序,就会被电话击中。
真的很困惑地注意到,如果它的类型是List(Of String)就会被解雇。如果它我们将它改为String,那么它就不会触发。与Integer / List(Of Integer)相同。我是最后一个意识到这一点的人吗?众所周知,如果它们是集合,您的未使用属性将会触发,但如果它们是简单的数据类型则不会触发吗?是什么原因?
一些示例代码:
除非需要该属性,否则不会触发:
Public ReadOnly Property Foo() As Integer
Get
Console.WriteLine("hit integer")
Return 1
End Get
End Property
我尝试使用该类的实例后立即触发:
Public ReadOnly Property Bar() As List(Of Integer)
Get
Console.WriteLine("hit list of integer")
Return New List(Of Integer)
End Get
End Property