首页 > 解决方案 > 将属性定义为许多现有属性的“组合”

问题描述

如标题中所述,我问是否可以将属性定义为现有属性的组合。当我谈论属性时,我指的是继承自 System.Attribute 的类。

我问这个是因为我发现我的很多代码看起来像这样:

[LibraryA_Attribute(string_param)]
[LibraryB_Attribute(int_param)]
public int MyProperty { get; set; }

我不想记住每次都需要使用的属性列表来装饰我的 POCO 类,以便让我使用的库正确管理它们。我想写这样的东西:

[MyAttribute(string_param,int_param)]
public int MyProperty { get; set; }

并让编译器正确翻译。

我的第一个想法是隐式转换以将 MyAttribute 转换为 LibraryA_Attribute 或 LibraryB_Attribute 但我不确定它是否会起作用(而且听起来很冒险)。所以我要一个建议。

标签: c#attributes

解决方案


推荐阅读