Синтаксис типа SortedDictionary <(Of <(<'TKey, TValue>)>)> .. :: .. Enumerator - PullRequest
0 голосов
/ 24 января 2011

Согласно MSDN :

SortedDictionary<(Of <(<'TKey, TValue>)>)>..::..Enumerator

- это тип возвращаемого значения в .Net 4.0 метода SortedDictionary GetEnumerator. Что в мире означает этот синтаксис. Конечно, я знаком с типичными дженериками, например,

public class MyClass<A,B> where A : C

но я не знаю, как разобрать большую часть этой декларации. Что такое Of, что означает ' перед TKey, предназначены ли скобки для улучшения читаемости или они необходимы, и что такое ..::..?

Ответы [ 3 ]

2 голосов
/ 24 января 2011

Часть "Of" - это VB-способ создания дженериков. Но это выглядит как разбитая смесь C #, VB, F # и C ++.

Часть документов "Тип" верна, хотя - тип возвращаемого значения метода

System.Collections.Generic.SortedDictionary<TKey, TValue>.Enumerator

Я подозреваю, что это был просто сбой в том, что генерирует этот бит документации. Я предлагаю вам сообщить об этом на Connect .

1 голос
/ 24 января 2011

Я не знаю, в чем причина этого синтаксиса в msdn, но это относится только к msdn.Для дженериков не существует нового синтаксиса.

0 голосов
/ 24 января 2011

В C # это означает:

SortedDictionary<TKey, TValue>.Enumerator

В VB.NET:

SortedDictionary(OfType TKey, OfType TValue).Enumerator
...