【发布时间】:2009-05-22 14:14:07
【问题描述】:
我有一个 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" };
}
我正在考虑制作一个自定义属性来装饰我的属性,以便从 AD 填充我的对象的代码不需要硬编码映射,而是我可以只装饰属性以自动填充对象。
从长远来看,我也许还能摆脱这个“PropertiesToLoad”。你认为属性是解决这个问题的好方法吗?还有一个问题,如果我确实通过属性解决了这个问题,我是否可能会造成巨大的性能瓶颈,或者使用属性不是真正的性能问题。
【问题讨论】:
标签: c# .net performance reflection attributes