我为我的项目选择了ServiceStack OrmLite,这是一个纯面向数据的应用程序。我愿意允许最终用户创建自己的以 XML 格式定义的对象类型,这些对象类型将用于在运行时使用CodeDOM生成类。
我还将定义应用程序所需的一些“系统”对象(即User
),但我无法预见最终用户将使用的所有属性,因此我正在寻找一种方法来允许扩展我在设计时创建的类。示例如下
public class User
{
public Guid Uid { get; set; }
public String Username { get; set; }
public String Password { get; set; }
}
最终用户想要一个Email
和一个Address
. 他应该能够将 2 个属性添加到上层类,整个类将是(OrmLite 仍然可以使用它,因为它允许覆盖:
public class User
{
public Guid Uid { get; set; }
public String Username { get; set; }
public String Password { get; set; }
public String Email{ get; set; }
public String Address { get; set; }
}
我知道这样做可能会导致系统崩溃(如果类已经实例化),所以我正在寻找避免这个问题并模仿我的需求的最佳方法。