0
我有它負責生成和返回的每一個實體實例的唯一關鍵實體的抽象類。密鑰生成有點昂貴,並且基於具體實體的屬性值。我已經參加標記中的屬性密鑰生成與KeyMemberAttribute
因此,所有我需要的是每一個屬性飾有KeyMemberAttribute
變化的時間,使EntityBase.Key
= NULL。基於屬性的屬性截取。怎麼樣?
所以,我得到了基類,像這樣:
public abstract class EntityBase : IEntity
{
private string _key;
public string Key {
get {
return _key ?? (_key = GetKey);
}
set {
_key = value;
}
}
private string GetKey { get { /* code that generates the entity key based on values in members with KeyMemberAttribute */ } };
}
然後我得到了實施的具體實體如下
public class Entity : EntityBase
{
[KeyMember]
public string MyProperty { get; set; }
[KeyMember]
public string AnotherProperty { get; set; }
}
我需要做KeyMemberAttribute
設置EntityBase.Key
到null
每時間屬性值更改。
感謝。只是有一些反射問題。然而,由於有另一個去使用這種方法因您的代碼示例使我發現這一個:http://doc.postsharp.net/multicast-reflection – 2014-09-21 21:56:03