这是一个很好的例子,所以不要对我大喊大叫,这是一个糟糕的设计:)
假设我有:
class UserInfo
{
SomeType1 member1;
SomeType2 member2;
SomeType3 member3;
Guid idInDB1;
Guid idInDB2;
}
每个成员都保存在DB1或DB2(不是两者)中,对于每个成员,我想提供一个属性,该属性指向包含DB id的变量。类似的东西:
[DBReference(idInDB1)]
这可能吗?
答案 0 :(得分:0)
由于Guid
不能编译时间常数,因此更容易使用string
,并将其转换为属性中的Guid
。
考虑这样的事情:
public class DBReferenceAttribute : Attribute
{
public DBReferenceAttribute(string guid)
{
this.Guid = new Guid(guid);
}
public Guid Guid { get; set; }
}
class UserInfo
{
[DBReference(idInDB1)]
string member1;
string member2;
string member3;
const string idInDB1 = "000";
}