C# 尝试创建一个包含我创建的类的列表,并从数据库中获取每个实例的名称
我在数据库中有一个表,我想将其放入列表中。我创建了一个类,它有一个字符串或int值,对应于数据库中的每个字段。(该类没有任何方法,它只保存数据。) 使用读取器,我可以从数据库中获取每条记录并将其添加到列表中,但是列表中的每个类实例都具有相同的名称,因此我无法使用IndexOf方法访问它。数据库中的每个记录都有一个唯一的名称,我想用这个唯一的名称来命名我在C#List中插入的类的每个实例 我见过关于使用反射的讨论,但阅读它也不是一个好方法。大多数答案倾向于Activator.CreateInstance,但我没有找到一个有效的示例,我可以看到如何引用类的实例来定义成员 我有一个字符串名,它来自数据库,是用户在其他地方定义的,但我不能将该记录作为类复制到列表中,因此我可以引用该类的成员,而不必不断打开数据库C# 尝试创建一个包含我创建的类的列表,并从数据库中获取每个实例的名称,c#,C#,我在数据库中有一个表,我想将其放入列表中。我创建了一个类,它有一个字符串或int值,对应于数据库中的每个字段。(该类没有任何方法,它只保存数据。) 使用读取器,我可以从数据库中获取每条记录并将其添加到列表中,但是列表中的每个类实例都具有相同的名称,因此我无法使用IndexOf方法访问它。数据库中的每个记录都有一个唯一的名称,我想用这个唯一的名称来命名我在C#List中插入的类的每个实例 我见过关于使用反射的讨论,但阅读它也不是一个好方法。大多数答案倾向于Activator.CreateInsta
或者,在列表中查找某个记录的方法,其中列表中的类的成员是某个值,我可以让列表中的每个类都具有相同的名称。我找到的列表示例使用int和string作为示例,因此没有任何成员可供查看 有一些可能性:
词典
。在键中,输入唯一的名称:
Dictionary<string, Class> d = new Dictionary<string, Class>();
d.Add("unique name from db", instanceOfClass);
Class c = d["unique name from db"];
Dictionary d=newdictionary();
d、 添加(“来自db的唯一名称”,InstanceOffClass);
类别c=d[“来自db的唯一名称”];
索引您的唯一名称,并将属性添加到类中以容纳此名称。在添加新列表项之前,请确保填充了名称。所谓索引,我的意思是:reader[“name of column containing unique value”]对于歧义,很抱歉。或者,您可以使用一个字典,您可以使用它根据您的唯一列添加项,然后为字典编制索引。someDictionary[“一个惟一的值”]来获取元组/行。谢谢你为我指明了正确的方向。这本词典正在使用中。我只想到字典中的两个字符串值,而不是我创建的字符串和类。在我的例子中,我现在使用一个int和我的自定义类,看起来它将非常有效。谢谢你的帮助。