从字符串创建对象名称

2 c# reflection loops

假设我想遍历一个datareader并创建一个特定类型的对象加载,但是使用datareader中的值作为对象名称,例如

String "string_" + <value from datareader> = new String();
Run Code Online (Sandbox Code Playgroud)

所以如果我有值temp1,temp2和temp3来自datareader,我将有3个类型为string的新对象,例如

string_temp1
string_temp2
string_temp3
Run Code Online (Sandbox Code Playgroud)

如何使用datareader中的名称创建对象?或者是否有更好的方法可以做到这一点?

Joh*_*lla 11

而不是使用反射,我认为使用Dictionary将您希望对象拥有的名称映射到其值的更容易:

var map = new Dictionary<String, String>();
map[...] = new String();
//   ^
//   |
//   +---- substitute with whatever naming scheme you deem suitable
Run Code Online (Sandbox Code Playgroud)