给定变量字符串的对象名称
本文关键字:对象 字符串 变量 | 更新日期: 2023-09-27 17:59:12
我想给一个对象一个一直在更改的名称。我的前臂上有一个图钉。每次在foreach中循环时,我都希望有一个基于列表中内容的新名称(我正在循环列表)。
例如,这是我的代码:
Test test = new Test();
foreach (var test in Test.allTests)
{
Pushpin pushpin = new Pushpin();
}
我想做这样的事情:
Test test = new Test();
foreach (var test in Test.allTests)
{
Pushpin test.testname = new Pushpin();
}
我无法执行此操作,因为test.testname是一个字符串。。
我要坚持到底,对你真正想要的东西做出一些疯狂的假设。
class Pushpin
{
public Pushpin() { }
// More Pushpin-related members and methods here
}
class Test
{
public Test(string name) { Name = name; }
public string Name { get; set; }
// More Test-related members and methods here
}
class SO23174064
{
Dictionary<string, Pushpin> pushpins = new Dictionary<string, Pushpin>();
public Dictionary<string, Pushpin> CreatePushpins(IEnumerable<Test> tests)
{
foreach (Test test in tests)
pushpins[test.Name] = new Pushpin();
return pushpins;
}
}
然后在你的主程序中,你可以使用这样的东西:
Test[] tests = new Test[] { new Test("x"), new Test("y") };
Dictionary<string, Pushpin> pins = new SO23174064().CreatePushpins(tests);
// use pins["x"] etc here
我接近了吗?