我正在为我的Django渲染引擎构建一个Visual Studio编辑器扩展。我刚刚开始,到目前为止,它真的很简单,而且到目前为止,它做的是我期望它做的事情-突出显示等等。或者在我开始添加解析逻辑之前是这样的。部分解析依赖于正则表达式。这是我的问题:无论我怎么尝试-静态变量,成员变量,-任何东西,每次我调用新的正则表达式时,它都会给我"Object not set to an instance“异常。在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给出了异常
发布于 2009-07-12 19:36:52
我很抱歉,伙计们,我想通了,JaredPar你们是对的-问题是在正则表达式中不平衡的paren。然而,“诊断”至少可以说是悄悄误导的。
发布于 2009-07-12 17:10:58
不,在MEF中使用正则表达式是没有问题的。问题出在您的代码中。
根据错误消息,当您尝试创建新的正则表达式时,似乎遇到了空引用异常。如果不看代码示例,就不容易知道到底出了什么问题。
你能发布一个代码示例吗?
https://stackoverflow.com/questions/1116341
复制相似问题