未使用的属性获取List(Of String)而不是String?

时间:2012-01-19 14:46:33

标签: .net collections properties

注意到一个属性获得解雇(并放慢我们的应用程序),所以进一步看看。现在,我知道这个属性不需要或在任何地方引用(作为证据,我只是删除了它,应用程序仍然正常运行)。

然而令人费解的是,一旦我们恢复并重新启动应用程序,就会被电话击中。

真的很困惑地注意到,如果它的类型是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

0 个答案:

没有答案