2009-05-22 4 views

답변

4

예, 그렇습니다. 직접 작성하여 응용 프로그램 시작시 등록하여 기본 태그와 필터 세트를 확장 할 수 있습니다. 필터는 매우 쉽게 확장 될 수 있다는 것을 명심해야합니다. 따라서 두 개의 직선 인터페이스 (ISimpleFilter는 매개 변수 필터가 없거나 IFilter는 1 매개 변수) 중 하나만 구현하면됩니다. 태그의 경우 개념은 동일하지만 NDjango 자체가 F #으로 작성되었으므로 ITag 인터페이스는 C#이나 VB에서 사용하기가 조금 더 어렵습니다. 분명히 할 수 있지만 약간 지저분합니다. F #에서 매우 간단합니다. F #에서

그것은 다음과 같습니다

C#에서
/// A single tag implementation 
and ITag = 
    /// Transforms a {% %} tag into a list of nodes and uncommited token list 
    member Perform: Lexer.BlockToken -> IParser -> 
      Lexer.Token seq -> (Node list * Lexer.Token seq) 

, 그것은 다음과 같습니다

public Tuple<FSharpList<Interfaces.Node>, IEnumerable<Lexer.Token>> 
       Perform(Lexer.BlockToken __p1, Interfaces.IParser __p2, 
        IEnumerable<Lexer.Token> __p3) 

을 다시 - 필터는 C#에서 쉽게 - 사실, 필터의 대부분을 그 C#으로 작성되었습니다. 태그는 f #에서 쉽지만 C#

과 같이 제한적으로 더 복잡합니다. 알고있는 것이 아니라 알려진 것이 없습니다.

전체 공개 - 전 ndjango 작가 중 한 명입니다.

+0

흠, F #을 배워야한다는 생각은 아주 조금이지만, 단지 태그를 만들 필요가있는 범위에서만 가능합니다. 그럼에도 불구하고 표준 템플릿 시스템을 사용하는 것보다 훨씬 좋게 들립니다. – Soviut

+0

당신이 말했듯이 - f #을 필요로하는 범위는 태그로 제한되어야하고, ndjango-dev 메일 링리스트는 막히면 도움이 될 것입니다. – kolosy

관련 문제