Генерики не дают нам спокойно жить. Нужно уметь обращаться с классами типа System.Collections.Generic.List<T>
- вызывать функции, получать\изменять свойства. А также вызывать generic-функции классов типа System.Linq.Enumerable
.
Без рефлексии не обойтись.
Вызов обычной функции. Например, list.Add( item)
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чей метод хотим вызвать |
Str | Название функции |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Вызов generic-функции.
Например, Convert.DeserializeObject<List<String>>( json)
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чей метод хотим вызвать |
Str | Название функции |
Array | Массив типов генериков (обычно один-два типа) |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Например, System.Linq.Enumerable::Average( list)
Входные параметры :
Тип | Описание |
---|---|
Str | Название статического класса |
Str | Название функции |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Тип | Описание |
---|---|
System.Type | Тип статического класса |
Str | Название функции |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Например, System.Linq.Enumerable::Except<String>( list1, list2)
Входные параметры :
Тип | Описание |
---|---|
Str | Название статического класса |
Str | Название функции |
Array | Массив типов генериков (обычно один-два типа) |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Тип | Описание |
---|---|
System.Type | Тип статического класса |
Str | Название функции |
Array | Массив типов генериков (обычно один-два типа) |
Array | Массив параметров |
Boolean | Искать ли функцию среди переопределений |
Например, dictionary.Count
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чьё свойство хотим получить |
Str | Название свойства |
Например, dictionary.Item[TKey]
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чьё свойство хотим получить |
Str | Название свойства |
Array | Массив типов параметров (обычно один-два типа) |
Например, List.Capacity = value
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чьё свойство хотим изменить |
Str | Название свойства |
System.Object | Значение свойства |
Например, dictionary.Item[TKey] = TValue
.
Входные параметры :
Тип | Описание |
---|---|
System.Object | Объект, чьё свойство хотим изменить |
Str | Название свойства |
Array | Массив типов параметров (обычно один-два типа) |
System.Object | Значение свойства |