J'ai trouvé un article sur removing whitespace de mon code dans ASP.NET MVC, cependant, lorsque j'utilise le convertisseur de code, la « fonction » est pas correctement convertiComment le convertiriez-vous en VB.NET valide?
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;
});
}
}
C'est ce qui est généré par le code Telerik convertisseur,
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
Cependant le Function(s) Do
n'est pas valide. Je ne sais pas comment passer une fonction en paramètre dans une méthode.