我试图将这段代码从C#转换为VB。试图使用第三方工具,但没有成功。有人可以帮助我。谢谢从C#转换为VB的问题
private static string RemoveInvalidHtmlTags(this string text)
{
return HtmlTagExpression.Replace(text, new MatchEvaluator((Match m) =>
{
if (!ValidHtmlTags.ContainsKey(m.Groups["tag"].Value))
return String.Empty;
string generatedTag = String.Empty;
System.Text.RegularExpressions.Group tagStart = m.Groups["tag_start"];
System.Text.RegularExpressions.Group tagEnd = m.Groups["tag_end"];
System.Text.RegularExpressions.Group tag = m.Groups["tag"];
System.Text.RegularExpressions.Group tagAttributes = m.Groups["attr"];
generatedTag += (tagStart.Success ? tagStart.Value : "<");
generatedTag += tag.Value;
foreach (Capture attr in tagAttributes.Captures)
{
int indexOfEquals = attr.Value.IndexOf('=');
// don't proceed any futurer if there is no equal sign or just an equal sign
if (indexOfEquals < 1)
continue;
string attrName = attr.Value.Substring(0, indexOfEquals);
// check to see if the attribute name is allowed and write attribute if it is
if (ValidHtmlTags[tag.Value].Contains(attrName))
generatedTag += " " + attr.Value;
}
// add nofollow to all hyperlinks
//if (tagStart.Success && tagStart.Value == "<" && tag.Value.Equals("a", StringComparison.OrdinalIgnoreCase))
// generatedTag += " rel=\"nofollow\"";
if (tag.Value.ToString() == "object")
{
generatedTag += (tagEnd.Success ? " height=\"374\" width=\"416\"" + tagEnd.Value : ">");
}
else
{
generatedTag += (tagEnd.Success ? tagEnd.Value : ">");
}
return generatedTag;
}));
}
哪个部分会引起你的问题? – 2009-12-30 18:46:04
为什么不编译到IL然后使用反射器? – 2009-12-30 18:46:58
问题在第3行和第5行之间。vb转换表示 - 第4行第5列:VB不支持具有语句正文的匿名方法/ lambda表达式。 – vamsivanka 2009-12-30 18:51:01