是否有可能在C#中制作这样的东西?
// Pseudo-code
enum Tables{}
sql.createTable("Tablename")
Tables.Add("Tablename");
sql.createTable("Tablename2")
Tables.Add("Tablename2");
//and then select the added Tablename from the property list
// like it works with an regular enum list
Tables.Tablename
Tables.Tablename2
答案 0 :(得分:2)
我会给你一个Adrianos
想法的样本:
Dictionary<string, string> tables = new Dictionary<string, string>();
sql.createTable("Tablename");
tables["Tablename"] = "Tablename";
sql.createTable("Tablename2");
tables["Tablename2"] = "Tablename2";
然后,稍后,您可以这样做:
sql.insertIntoTable(tables["Tablename"], value1, ...);
为什么要使用两个键都具有相同名称的字典?这样您就可以通过名称访问表名。如果您只有一个列表,那么您只能通过索引访问表名。
这样,您可以编写tables["Tablename"]
并按名称访问表名... oO
还有一个问题:为什么?如果您事先知道表名,那么在进一步调用中只是硬编码该名称会出现什么问题?