我正在研究可在一个或多个运行时应用程序中使用的库。该库具有在字符串中搜索一组“键”的功能。如果找到一个,则返回值应返回该键的值。如果找不到,则返回原始字符串。
protected string CorrectFloatingIndex(string indexDescription)
{
if (indexDescription== null)
{
return "";
}
foreach (var mapper in FloatingIndex.Mapping)
{
if (Regex.IsMatch(indexDescription, mapper.Item1,
RegexOptions.IgnoreCase))
{
return mapper.Item2;
}
}
return indexDescription;
}
我目前正在用元组列表对FloatingIndex.Mapping
进行硬编码。找到任何.Item1
后,请返回关联的.Item2
。
public static class FloatingIndex
{
public static List<Tuple<string, string>> Mapping =
new List<Tuple<string, string>>()
{
new Tuple<string, string>("TIIE", "TIIE"),
new Tuple<string, string>("CAMARA PROMEDIO INDEX", "CAMAR"),
new Tuple<string, string>("LIBOR", "LIBOR")
};
}
这很好用;但是,当找到新的键值对示例并将其添加到列表中时,这需要更改DLL,然后需要使用该DLL重新发行运行时应用程序。确定新的键值对后,此列表将随着时间的推移而建立。
请记住,在DLL中使用CorrectFloatingIndex
方法。运行时应用程序不直接使用此方法或映射表。
是否有一种方法可以在DLL中找到参考文件或应用程序配置文件(出于测试和责任目的),该文件会级联到运行时应用程序?这将允许进行DLL的测试和完整功能,同时为运行时应用程序提供了向该文件提供更新的键值对的功能,而无需发布。