从 VB.net 迁移到 C#

Moving from VB.net to C#

我正在从 VB 转向 C#。事情并没有变得太糟。但是我坚持使用我的一个树视图数据绑定子程序的一部分。有一部分我无法开始工作。我正在使用自定义安全性来控制对应用程序的访问。它有一个绑定到站点地图的树视图。我在站点地图中添加了一个名为 "securitylevel" 的自定义属性。一个人可以有多个安全级别,所以我用他们的安全级别构建了一个字符串。然后我删除他们无权访问的节点。我无法使用 .net 角色,因为我必须使用现有的数据库。我想不通的是如何删除父节点和子节点。这是 VB 代码的内容。

    strNodesToHide As String = "100, 500, 900"

    Dim node As SiteMapNode = TryCast(e.Node.DataItem, SiteMapNode)

    If Len(node("SecurityLevel")) <> "0" Then
        If InStr(strNodesToHide, node("securityLevel")) Then
            e.Node.Parent.ChildNodes.Remove(e.Node)
        End If
    End If

我认为这应该是一个非常直接的转换:

string strNodesToHide = "100, 500, 900";

SiteMapNode node = e.Node.DataItem as SiteMapNode;

if (node["securityLevel"].length != 0) {
  if (strNodesToHide.indexOf(node["securityLevel"]) > -1) {
    e.Node.Parent.ChildNodes.Remove(e.Node);
  }
}

诸如此类:)

(还没有测试过。希望它有用。)