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.