我希望提供Person
如下定义的vCard
从我的系统中打印 a 的能力。为了向用户提供隐私选项,用户可以选择是否显示/隐藏某些属性。在最简单的形式中,我需要一个单独的表格来保存用户的选择。
我想知道是否可以configurator table
使用反射来构建它。如下面的Person
模型所示,我可以使用自定义属性装饰属性,然后使用这些属性,构造并持久化一个模型,该模型将为bool
每个装饰属性提供一个Person
属性。
public class Person
{
public string UserName { get; set; }
public string FirstName { get; set; }
[DisplayOnVCard]
public string LastName { get; set; }
[DisplayOnVCard]
public string Email { get; set; }
[DisplayOnVCard]
public string MobilePhone { get; set; }
}
**[DisplayOnVCard]
自定义属性在哪里。*
最后,我希望数据库中的一个表与此相对应:
public class VCardConfigurator
{
public bool LastName { get; set; }
public bool Email { get; set; }
public bool MobilePhone { get; set; }
}
这只是一个实际巨大实体的示例表示。这就是为什么我希望避免手动将 bool 字段映射到每个可选属性。
我相信这个问题域与社交网站上隐私设置的工作方式非常相似,是吗?
在我输入此内容时,我确实考虑过如果我要从其中一个属性中删除该属性的可能性,这可能会产生什么影响。需要一些思考!
自我延伸阅读:
我很有可能会走上完全错误的道路!如果是这种情况,请指教!