Ich baue eine Visual Studio-Editor-Erweiterung für meine Django-Rendering-Engine. Ich habe es gerade so angefangen, bis jetzt ist es wirklich einfach und bis jetzt macht es das, was ich von ihm erwarte - Hervorhebung und so. Oder es tat, bis ich begann, Parsing-Logik hinzuzufügen. Ein Teil der Analyse beruht auf regulären Ausdrücken. Und hier ist mein Problem: Egal wie ich es versuche - statische Variablen, Member-Variablen, - alles, jedes Mal, wenn ich neue Regex aufrufen gibt es mir "Object nicht auf eine Instanz festgelegt" Ausnahme. Gibt es ein Problem bei der Verwendung von regulären Ausdrücken (RegEx) in MEF?Regex explodiert in einer Editor-Erweiterung
hier gehen Sie:
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;
}
}
}
Ein Haltepunkt auf der Linie mit dem Regex-Konstruktor ganz gut getroffen wird. Das nächste F10 gibt die Ausnahme
sicher hier ist sie: Namespace NDjango.Designer.Parsing { [Export (typeof (IParser))] public class Parser: IParser { public List Parse (IEnumerable Vorlage) { var Ergebnis = neue Liste (); Regex tag_re = new Regex ("({{*}.}", RegexOptions.Compiled); return result;} } } Wenn ich auf der neuen Regex Linie den Breakpoint setzen es trifft es ganz gut, aber der nächste F10 - Boom !!! –
mfeingold
Sorry für die Formatierung – mfeingold
@mfeingold - Die geeignete Möglichkeit, dieses Code-Snippet zu veröffentlichen wäre, Ihre Frage zu bearbeiten und dort hinzuzufügen. –