我目前正在开发一个需要在运行时公开其一些元数据/文档的系统。我知道有一些方法可以使用 XML 注释并通过自研的反射扩展方法将数据带回应用程序。
我觉得使用 System.ComponentModel 命名空间中的 description 属性可能更容易(但位于 System 程序集中)。这样我和其他开发人员就可以使用常规反射来获取字段的描述。我宁愿使用它而不是使用自定义属性。这种方法有什么缺点?
例子:
public Customer
{
public int Id { get; set; }
[Description("The common friendly name used for the customer.")]
public string Name { get; set; }
[Description("The name used for this customer in the existing Oracle ERP system.")]
public string ErpName { get; set; }
}