我正在爲我的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;
}
}
}
與正則表達式構造線A斷點命中就好了。下一個F10給出例外
肯定那就是: 命名空間NDjango.Designer.Parsing { [導出(typeof運算(IParser))] 公共類解析器:IParser { 公開名單解析(IEnumerable 模板) { var result = new List (); 正則表達式tag_re =新的正則表達式( 「({{*}}」,RegexOptions.Compiled); 返回結果; }} } 當我把斷點它擊中它就好了新的正則表達式行,但下一個F10 - 熱潮!!! –
mfeingold
2009-07-12 17:26:55