Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Extension метод для коллекций
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Написал extension метод. Код: c# 1. 2. 3. 4. 5. 6. вызов Код: c# 1. 2. 3. 4. 5. 6. Почему-то не работает. "System.Data.DataColumnCollection" не содержит определения для "ToArray" и не был найден метод расширения "ToArray", принимающий тип "System.Data.DataColumnCollection" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)Наиболее подходящий перегруженный метод для "System.Data.DataColumnCollection.AddRange(System.Data.DataColumn[])" имеет несколько недопустимых аргументов Наиболее подходящий перегруженный метод для "System.Data.DataColumnCollection.AddRange(System.Data.DataColumn[])" имеет несколько недопустимых аргументов Что не так? в гугле пишут Q: Is it possible to apply an extension method to an interface? ... A:Of course they can; most of Linq is built around interface extension methods. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 05:38 |
|
||
|
Extension метод для коллекций
|
|||
|---|---|---|---|
|
#18+
ой. 3я ошибка такая Аргумент "1": преобразование типа из "TSource[]" в "System.Data.DataColumn[]" невозможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 05:40 |
|
||
|
Extension метод для коллекций
|
|||
|---|---|---|---|
|
#18+
breee3ой. 3я ошибка такая Аргумент "1": преобразование типа из "TSource[]" в "System.Data.DataColumn[]" невозможно Переводчики такие переводчики... Постарались, чтобы даже сообщения об ошибках были ни о чем. В представленном вами коде ошибка такая: Код: plaintext что означает, что компилятор из выражения Код: c# 1. не может сам вывести генерик-тип Т extension-метода, и требует указать генерик-тип явно: Код: c# 1. И в данном случае сигнатуру extension-метода вполне можно переписать так: Код: c# 1. - это эквивалентно тому, что вы написали. Но и это не нужно, поскольку есть Enumerable.ToArray(TSource) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 06:06 |
|
||
|
Extension метод для коллекций
|
|||
|---|---|---|---|
|
#18+
Спасибо. Enumerable.ToArray(TSource) действительно вызывается в Код: c# 1. Моя процедура же никак не хочет, вызываться, судя по всему, из-за того что DataColumnCollection наследуется от ICollection, а не от ICollection<T>. Не понятно зачем так сделано... Но и самое главное, это всё было пустой затеей. Поскольку DataColumn`ы нельзя вставить в другой DataTable (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 08:03 |
|
||
|
Extension метод для коллекций
|
|||
|---|---|---|---|
|
#18+
breee3Поскольку DataColumn`ы нельзя вставить в другой DataTable (: Если вставить так, как написано выше (все DataColumn), то см. метод DataTable.Clone . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 09:20 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=38976941&tid=1401467]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 156ms |

| 0 / 0 |
