我有一个DataContract类,我必须填写来自我们公司的Active Directory的值。适当使用自定义属性?
[DataContract(Namespace = Global.Namespace)]
public class UserProfile
{
[DataMember(IsRequired = true, EmitDefaultValue = false)]
public string EmployeeID { get; private set; }
[DataMember(IsRequired = true, EmitDefaultValue = false)]
public string GivenName { get; private set; }
...
public static readonly string[] PropertiesToLoad = new[] { "EmployeeID", "GivenName" };
}
我正在考虑做一个自定义属性来装饰我的属性,因此,这将填补我的对象从广告的代码就不需要有映射硬编码的,但更愿意我可能只是装饰性自动填充对象。
从长远来看,我可能也能够摆脱这种“PropertiesToLoad”。你认为属性是解决这个问题的好方法吗?还有一个问题,如果我通过属性来解决这个问题,我可能会造成巨大的性能瓶颈,或者使用Attributes不是真正的性能问题。