我正在为我的 Django 渲染引擎构建一个 Visual Studio 编辑器扩展。到目前为止,我刚刚开始使用它,它真的很简单,并且到目前为止它完成了我期望它做的事情 - 突出显示等等。或者直到我开始添加解析逻辑。部分解析依赖于正则表达式。这是我的问题:无论我如何尝试 - 静态变量、成员变量 - 任何东西,每次我调用 new Regex 它都会给我“对象未设置为实例”异常。在 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 给出了例外