如何提供可在运行系统应用程序中修改的库(dll)的配置

时间:2019-01-29 17:21:29

标签: c# dll config

我正在研究可在一个或多个运行时应用程序中使用的库。该库具有在字符串中搜索一组“键”的功能。如果找到一个,则返回值应返回该键的值。如果找不到,则返回原始字符串。

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的测试和完整功能,同时为运行时应用程序提供了向该文件提供更新的键值对的功能,而无需发布。

0 个答案:

没有答案