当前位置:  开发笔记 > 编程语言 > 正文

ImmutableObject属性提供什么好处?

如何解决《ImmutableObject属性提供什么好处?》经验,为你挑选了1个好方法。

我正在测试该ImmutableObjectAttribute属性只是为了好奇,看看我是否可以获得一些应用它的好处,或者它是否仅仅用于语义装饰......

ImmutableObjectAttribute类

指定对象没有能够编辑的子属性.

所以我有这门课:


Public Class TestClass

    
    Public sb As StringBuilder

    Public Sub New()
        sb = New StringBuilder
    End Sub

End Class

我已经使用此代码进行了测试:

    Dim obj As New TestClass

    obj.sb.Append("Hello")
    obj.sb.Append(" ")
    obj.sb.Append("World")

    MsgBox(obj.sb.ToString)

然后,我会应用后ImmutableObject的可变对象的属性,我希望看到某种编译器警告的,某种运行时异常的,或者只是从的内部串收到意想不到的价值StringBuilder,但没有那事情发生了,一切似乎都正常.

这让我觉得一个问题的答案显而易见,但我需要问一下:

ImmutableObject属性只是一个装饰性的属性?

为什么存在这个属性呢?我找不到任何标记具有此属性的类的beneffit它不能确保成员实际上是不可变的,或者至少是.Net理解为不可变的(你知道,就像String在.Net中不是真正不可变的).



1> Matthew Whit..:

从ImmutableObjectAttribute类文档:

此属性通常在"属性"窗口中用于确定是否将可扩展对象呈现为只读.因此,此属性仅在设计时使用.

......是的,这只是装饰.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有