代码之家  ›  专栏  ›  技术社区  ›  Cheng Chen

是否可以通过标记属性类的位置来初始化属性类的属性?

  •  1
  • Cheng Chen  · 技术社区  · 15 年前

    我有一个属性来标记名为businessdescription的枚举字段。

    public enum FailReason
    {
       [BusinessDescription(Description="the client cancelled the order")]
       Client = 0,
       [BusinessDescription(Description="vender cancelled", DBValue = 1)]
       Vender = 1,
       [BusinessDescription(Description="other")]
       Other = 2
    }
    

    可以看到,client&other的属性不包含dbvalue值。有没有可能:如果其他开发人员没有给出dbvalue,那么构造函数会给它分配相应的值?(对于客户端,dbvalue将为0;对于其他客户端,dbvalue将为2)。

    1 回复  |  直到 15 年前
        1
  •  0
  •   devnull    15 年前

    不,目的是 Attribute 是为了提供关于它被应用到的目标的信息,不存在允许属性检测其目标或与之相关的任何数据的内置功能。从我看到的 DBValue 等于存储在枚举的每个成员中的值,您可以轻松使用该值并移除 dB值 来自构造函数的参数。

    推荐文章