C#预处理器可以查看常量字符串值吗?

时间:2014-10-11 17:50:19

标签: c# c-preprocessor

我正在为一个我正在辅导的孩子写一个MadLib库。 MadLib类具有以下内容:

// Finds fields
private static readonly Regex PromptValueRegex = new Regex("<([^>]+)>", RegexOptions.IgnoreCase);

// text of our story
private readonly string Story;

...

/// <summary>
/// Creates a new MadLib object with the given story text.
/// </summary>
/// <param name="story">The text of the story with blank field names denoted by &lt;blank name&gt;.</param>
public MadLib(string story)
{
    if (story == null)
    {
        throw new ArgumentNullException("Story cannot be null.");
    }

    if (story.Trim() == string.Empty)
    {
        throw new EmptyStoryException();
    }

    Story = story;

    SetupPromptDictionary();
}

通过正则表达式"<blank name>"查找<([^>]+)>,故事会检测到旧时MadLibs会出现空白的情况。

如果传递给构造函数的故事可以确定没有<>字符,我想提供编译时警告。这可能吗?

1 个答案:

答案 0 :(得分:0)

通过评论,这是不可能的。如果有可能,请告诉我!