现在的位置: 首页 > 综合 > 正文

Thinking:元数据•ObsoleteAttribute用来控制版本代码的吗?

2013年10月19日 ⁄ 综合 ⁄ 共 900字 ⁄ 字号 评论关闭

近来比较关注元数据。元数据在NET中发挥着举足轻重的作用,理解和掌握元数据还真不是一朝一夕的事,自己估计断断续续的要半年的时间才能入门。我现在暂时将它理解成这样:元数据是类和类元素的解释。

 

 

 

现在看看ObsoleteAttribute

MSDN说,“标记不再使用的程序元素。无法继承此类”。备注是如此解释,“ObsoleteAttribute 可适用于除程序集、模块、参数或返回值以外的所有程序元素。将元素标记为过时可以通知用户:该元素在产品的未来版本中将被移除”。

 

 

 

看了它的两个示例,自己写一个:

 

Public Class ComTax

    <Obsolete("注意:十月一日起必须修改税率值!")> Protected _Rate As Double = 0.98

    Public ReadOnly Property Rate() As Double

        Get

            Return _Rate '在编辑代码时,光标移到这时会提示: “_Rate”已过时,"注意:十月一日起必须修改税率值!"

        End Get

    End Property

End Class

 

 

 

Public Class TestTax

    Shared Sub Main()

        Dim a As New ComTax

        Console.WriteLine(a.Rate)

    End Sub

End Class

这是在IDE编辑时的情形:

IDE

当我们编译它的时候,编译通过,但提示警告信息:

警告

当把<Obsolete("注意:十月一日起必须修改税率值!")>改为

<Obsolete("注意:十月一日起必须修改税率值!",True)>时,编译失败。

 

 

 

我原来想ObsoleteAttribute能否用来控制版本更新,到了十月一日时_Rate自动失效引发程序运行错误,但找不到实现的办法。估计ObsoleteAttribute只是用来控制版本代码,特别是在团队作业时,审核者对提交的代码进行批阅,如此函数需要斟酌,则<Obsolete("效率差,请在适当时间改进")>;严重时,则<Obsolete("效率极差,请重新考虑"),True>

抱歉!评论已关闭.