尝试创建包含我创建的类的列表,并从Database获取每个实例的名称

时间:2014-04-26 20:37:52

标签: c#

我在数据库中有一个表,我想进入一个列表。我创建了一个Class I,它有一个字符串或int值,对应于数据库中的每个字段。 (该类没有任何方法,它只保存数据。)

使用阅读器我可以从数据库中获取每条记录并将其添加到列表中,但列表中每个类的实例始终具有相同的名称,因此我无法使用IndexOf方法访问它。数据库中的每条记录都有一个唯一的名称,我想使用该唯一名称来命名我在C#List中插入的类的每个实例。

我已经看到过使用反射的说法,但是阅读它并不是一个好方法。大多数答案都倾向于Activator.CreateInstance,但我找不到一个有效的例子,我可以看到如何引用类的实例然后定义成员。

我有一个来自数据库的字符串名称,并且是用户在其他地方定义的,但我无法在列表中复制该记录,因此我可以引用该类的成员而无需经常打开数据库。

或者,一种在列表中查找列表中记录的记录的方法是可行的,并且我可以让列表中的每个类具有相同的名称。我找到的列表示例使用int和strings作为示例,因此没有任何成员可以查看。

1 个答案:

答案 0 :(得分:0)

有一些可能性:

  1. 创建Dictionary<string, Class>。在密钥中,您可以使用唯一的名称:

    Dictionary<string, Class> d = new Dictionary<string, Class>();
    d.Add("unique name from db", instanceOfClass);
    
    Class c = d["unique name from db"];
    
  2. 在您的班级中添加唯一字段作为属性

  3. 创建另一个唯一标识符,例如主键或类似标识符。