这似乎是一个奇怪的要求,我很感激,但情况就是这样:
我有一个程序,它依赖于读取少量文件。这些文件的命名如下:foo_bar_BAZ.txt
其中 BAZ 是项目的名称,直到运行时才知道。但是,在程序的整个执行过程中它不会改变。
我想要一个存储所有文件名的字符串枚举列表。到目前为止,我已经使用了像这样的密封类:
public sealed class SQLFile
{
private readonly String name;
private readonly String value;
public static readonly SQLFile CrByAuthors = new SQLFile("Changes_CR_By_Authors_%project_name%.txt", "CrByAuthors");
public static readonly SQLFile DocumentCrMetrics = new SQLFile("Changes_Document_CR_Output_%project_name%.txt", "DocumentCrMetrics");
[...]
private SQLFile(String value, String name)
{
this.name = name;
this.value = value;
}
public String ToString(string projectName)
{
return this.value.Replace("%project_name%", projectName);
}
}
正如您所看到的,这取决于我每次想要访问文件名时提供的项目名称变量,即使该文件名从运行时的一开始到结束实际上都是恒定的。
有没有更优雅的方法来处理这种情况?