如何允许用户编辑代码而无需重新编译代码

时间:2016-07-28 18:48:42

标签: c#

我想写一个程序,其中一些单词连接到另一个。一个例子是A转到1而B转到2.有些人可能会调用此映射。我想到的想法是我们运行程序,程序以某种方式打开一个word文档,用户可以在其中更改哪个字符或数字对应什么,然后程序更新,而无需重新编译。我在想创建一本字典:

Dictionary <string, string> mappings = new Dictionary<string, string>();
mappings["A"] = "1";
mappings["B"] = "2";

我只是不知道如何实现程序将允许您更改代码而无需重新编译的部分。也许我应该让程序编辑映射?

1 个答案:

答案 0 :(得分:1)

以下是有关如何执行基本文件IO和字符串操作的示例。

这是一个用于学习目的的简单示例,它无法处理某些内容,例如换行符或要映射的其中一个字符串中的“=”字符。

假设你有一个像这样的文件

  

A = 1
  B = 2

您可以使用此代码制作完全相同的字典

Dictionary<string, string> mappings = new Dictionary<string, string>();

// gets an array lines in the file
var lines = System.IO.File.ReadAllLines("TextFile1.txt");

foreach(var line in lines)
{
    //this gets an array of substrings, seperated by the specified character
    var vals = line.Split('=');

    //adds a value to your dictionary
    mappings.Add(vals[0], vals[1]);
}

如果要在不更改代码的情况下更改映射,则只需更改该文件。