我正在为我的Django渲染引擎构建一个Visual Studio编辑器扩展。我刚刚开始它,所以到目前为止,它非常简单,到目前为止它完成了我期望它做的事情 - 突出显示等等。 或者直到我开始添加解析逻辑。部分解析依赖于正则表达式。这是我的问题: 无论我如何尝试 - 静态变量,成员变量, - 任何东西,每次我调用新的正则表达式时,它都会给我“对象未设置为实例”异常。 在MEF中使用正则表达式(RegEx)有问题吗?
你去:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using System.Text.RegularExpressions;
namespace NDjango.Designer.Parsing
{
public interface IParser
{
List<Token> Parse(IEnumerable<string> template);
}
[Export(typeof(IParser))]
public class Parser : IParser
{
public List<Token> Parse(IEnumerable<string> template)
{
var result = new List<Token>();
Regex tag_re = new Regex("({{.*}}", RegexOptions.Compiled);
return result;
}
}
}
使用Regex构造函数的行上的断点就可以了。下一个F10给出了异常
答案 0 :(得分:1)
不,在MEF中使用正则表达式没有问题。问题出在您的代码中。
根据错误消息,当您尝试创建新的正则表达式时,看起来您正在尝试空引用异常。如果没有看到代码示例,就不容易知道到底出了什么问题。
您可以发布代码示例吗?
答案 1 :(得分:0)
我很抱歉,我明白了,JaredPar你是对的 - 问题在正则表达式中是不平衡的。 “诊断”虽然是安静的误导,至少可以说