Что значит вызвать метод класса VB с двумя наборами скобок и ключевым словом Of?

В классе VB, на который я смотрю, есть вызов метода (который я анонимизировал), который выглядит следующим образом:

Dim variableName As ClassName = methodName(Of ClassName)(someOtherArg)

Определение метода в другом файле начинается со следующего:

Protected Function methodName(Of ClassName As {SuperClassName, New})(someOtherArg As someOtherClassName) As ClassName

Помимо общих имен, что делает этот синтаксис? Похоже, что два аргумента передаются methodName метод, но первый имеет тип переменной или что-то (какой-то полиморфизм, возможно?).

По сути, я просто пытаюсь выяснить, что делает этот синтаксис VB, и мне не повезло, гуглить такие вещи, как "определение функции VB с помощью ключевого слова" и т. Д. Спасибо.

1 ответ

Решение

Of указывает универсальный тип или универсальную процедуру. Они подробно обсуждаются в справке F1 по пунктам Visual Basic / Особенности языка Visual Basic / Типы данных в Visual Basic / Общие типы в Visual Basic и ... / Общие процедуры в Visual Basic.

Другие вопросы по тегам