2010-12-03 6 views
0

ich einen Artikel über removing whitespace von meinem Markup in ASP.NET MVC, aber gefunden, wenn ich den Code-Wandler verwenden, die „Funktion“ ist konvertiert nicht ordnungsgemäßWie würden Sie dies in gültige VB.NET konvertieren?

public class WhitespaceFilterAttribute : ActionFilterAttribute 
    { 

     public override void OnActionExecuting(ActionExecutingContext filterContext) 
     { 

      var request = filterContext.HttpContext.Request; 
      var response = filterContext.HttpContext.Response; 

      response.Filter = new WhiteSpaceFilter(response.Filter, s => 
        { 
         s = Regex.Replace(s, @"\s+", " "); 
         s = Regex.Replace(s, @"\s*\n\s*", "\n"); 
         s = Regex.Replace(s, @"\s*\>\s*\<\s*", "><"); 
         s = Regex.Replace(s, @"<!--(.*?)-->", ""); //Remove comments 

         // single-line doctype must be preserved 
         var firstEndBracketPosition = s.IndexOf(">"); 
         if (firstEndBracketPosition >= 0) 
         { 
          s = s.Remove(firstEndBracketPosition, 1); 
          s = s.Insert(firstEndBracketPosition, ">"); 
         } 
         return s; 
        }); 

      } 

    } 

Dies ist, was durch den Telerik Code generiert wird Konverter,

Public Overrides Sub OnActionExecuting(ByVal filterContext As ActionExecutingContext) 

     Dim request = filterContext.HttpContext.Request 
     Dim response = filterContext.HttpContext.Response 

     response.Filter = New WhiteSpaceFilter(response.Filter, Function(s) Do 
     s = Regex.Replace(s, "\s+", " ") 
     s = Regex.Replace(s, "\s*\n\s*", vbLf) 
     s = Regex.Replace(s, "\s*\>\s*\<\s*", "><") 
     s = Regex.Replace(s, "<!--(.*?)-->", "") 
     'Remove comments 
     ' single-line doctype must be preserved 
     Dim firstEndBracketPosition = s.IndexOf(">") 
     If firstEndBracketPosition >= 0 Then 
      s = s.Remove(firstEndBracketPosition, 1) 
      s = s.Insert(firstEndBracketPosition, ">") 
     End If 
     Return s 
     End Function) 

    End Sub 

Die Function(s) Do ist jedoch ungültig. Ich weiß nicht, wie man eine Funktion als Parameter in einer Methode übergibt.

Antwort

3

Sie sollten this und this sollten Sie einen Delegaten für diese in VB.NET verwenden helfen.

Verwandte Themen