.net - 为什么不能用 .net 中的读/写属性覆盖只读属性?

标签 .net vb.net

从概念上讲,派生类似乎应该能够使用读写属性覆盖只读属性。为什么这不可能?

Public Class Base

    Protected _name As String
    Public Overridable ReadOnly Property Name() As String
        Get
            return _name
        End Get
    End Property

End Class

Public Class Derived
    Inherits Base

    Public Overrides Property Name() As String
        Get
            Return MyBase.Name
        End Get
        Set(ByVal value As String)
            _name = value
        End Set
    End Property

End Class

最佳答案

我不同意,更改基类属性的只读访问权限似乎毫无意义。

VB ReadOnly 的规则经过仔细定义: http://msdn.microsoft.com/en-us/library/z2b2c2ka.aspx#Y300

基类作者可以将属性标记为只读。

您不会知道更改属性值的后果是什么。

关于.net - 为什么不能用 .net 中的读/写属性覆盖只读属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406344/

相关文章:

c# - JavaScriptSerializer 如何反序列化带有空格的标识符

c# - .NET 中 UnhandledException 和 DispatcherUnhandledException 的区别

mysql - SQL 条件 : using Regex formatter for "Like"

vb.net - 不带 Interop 的 Excel 导出

.net - 取消BackgroundWorker,如何在已经完成时防止比赛

javascript - ASP.NET 自定义验证器客户端和服务器端验证

.net - 如何使用 .NET 代码以自动化方式运行 Microsoft Visual Studio 单元测试?

asp.net - 如何设置特定文件夹的启动页?

mysql - 集成安全 MySQL/VB.NET

asp.net - 异常消息: The process cannot access the file because it is being used by another process