VB. Net Общие ограничения, эквивалентные C#, где TValue: New () - PullRequest
0 голосов
/ 11 февраля 2020

Я работаю над преобразованием метода расширения, который у меня есть в C#, в VB. Net, но не могу найти правильный способ установить ограничение на вывод.

Мой ток C# код работает над словарем и выглядит следующим образом:

public static TValue GetOrCreate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key)
    where TValue : new()
{   }

Я видел вопросы, объясняющие, как установить ограничение для входных данных , таких как здесь , но я не могу найти объяснения, как преобразовать ограничение output в where TValue : new()

Я уверен, что это легко, но я немного заржавел В.Б. и надеется, что кто-то здесь знает это на макушке.

1 Ответ

5 голосов
/ 11 февраля 2020

Вот преобразование, полученное из Преобразователя кодов Telerik :

Module Extensions
  <Extension()>
  Public Function GetOrCreate(Of TKey, TValue As New)(ByVal dict As IDictionary(Of TKey, TValue), ByVal key As TKey) As TValue

  End Function
End Module
...