你可以使用反射,但它相当昂贵.这是一个概述如何做到这一点的问题:
鉴于列表名称在编译时是已知的,您可以考虑实现一个接受列表的字符串名称的方法,并使用switch语句或if语句返回对相应列表的引用.
static IList FindList(string name)
{
if (name == "l1") { return l1; }
else if (name == "l2") { return l2; }
else throw Exception("List " + name + " not found.");
}
Run Code Online (Sandbox Code Playgroud)
这在运行时比使用反射更快但需要维护(如果你有足够的列表来保证工作,你可以编写代码生成该方法).
| 归档时间: |
|
| 查看次数: |
2199 次 |
| 最近记录: |