C#中的"..::."是什么意思?

11

我在 ListView 类中看到了这个签名:

public ListView..::.ListViewItemCollection Items { get; }

当我看到那个的时候,“什么?!”

我在Google上搜索“dot dot colon colon dot”和“..::.”,但没有结果。

alt text


它能编译吗?:: 运算符是命名空间别名运算符,但点号呢?我不知道... - Rune Grimstad
2个回答

16

那不是C#,那是JScript。在C#中,它应该是这样的:

public ListView.ListViewItemCollection Items { get; }

由于 ListViewItemCollectionListView 的内部类,所以有些不一样。

我猜你是在看 ListView.Items 属性 (System.Windows.Forms)

如果你查看其他语言的列表,它们都使用 JScript 语法。你发现了一个文档错误。


是的,我正在查看ListView.Items属性。我怀疑这是一个错误,但当我看到Columns属性时,它也被列为"..::."。看来文档生成器有个小bug :D 谢谢! - Randy Sugianto 'Yuku'

-4

ListViewItemCollection是ListView的嵌套类型,这意味着在代码中,集合类被定义在ListView定义内部,如下所示:

public class ListView {
  public ListViewItemCollection Items {get;}

  public class ListViewItemCollection : IList {
    // more code here
  }
}

我会认为它是这样编码的只是为了让他们的源树整洁一点。这样,与ListView控件相关的所有帮助程序集合类都不会散布在目录中。内部类确实有一些特殊的特性,但我想象不出任何这里适用的特性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接