c#强制使用字典键



我想知道验证或强制用于Dictionary对象/参数的Keys的最佳实践是什么。

以以下方法为例:

public override SqlServerQueryBuilder From(Dictionary<string, string> tableReferenceDictionary)
{
this.SelectQuery += " FROM " + this.IdentifierStart + tableReferenceDictionary["Database"] + this.IdentifierEnd
+ "." + this.IdentifierStart + tableReferenceDictionary["Schema"] + this.IdentifierEnd
+ "." + this.IdentifierStart + tableReferenceDictionary["Table"] + this.IdentifierEnd;
return this;
}

该方法接受Dictionary形参,并做出假设关于使用的钥匙。如果调用者传递了一个输入错误(database"而不是"Database">),那么这段代码将抛出异常。有没有更好的方法来处理这个问题?

可能是实现相同功能的不同数据类型?

也许使用枚举并使关键类型为enum (Dictionary<enum, string>)?

在这里使用自定义类更合适,这样您就可以强制执行所有的"键"(这将是新类中的属性)按预期填充。

你是正确的。使用Dictionary<enum, string>可能是最好的方法。

相关内容

  • 没有找到相关文章

最新更新