如何提供属性中成员字段的引用?

时间:2014-11-25 08:37:58

标签: c#

这是一个很好的例子,所以不要对我大喊大叫,这是一个糟糕的设计:)

假设我有:

class UserInfo
{
    SomeType1 member1;

    SomeType2 member2;

    SomeType3 member3;


    Guid idInDB1;

    Guid idInDB2;
}

每个成员都保存在DB1或DB2(不是两者)中,对于每个成员,我想提供一个属性,该属性指向包含DB id的变量。类似的东西:

[DBReference(idInDB1)]

这可能吗?

1 个答案:

答案 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";
}