Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2016, 13:19   #1
BadCats
Пользователь
 
Аватар для BadCats
 
Регистрация: 31.01.2016
Сообщений: 67
Вопрос И тут я зашел в интерфейс IEnumerable

Всем привет, хочу спросить насчет интерфейса IEnumerable, который как я понял используется при работе с коллекциями(я их только начал изучать), но тема не о коллекциях, а о содержимом вышеупомянутого интерфейса:
Код:
namespace System.Collections
{
    // Сводка:
    //     Предоставляет перечислитель, который поддерживает простой перебор элементов
    //     неуниверсальной коллекции.
    [ComVisible(true)]
    [Guid("496B0ABE-CDEE-11d3-88E8-00902754C43A")]
    public interface IEnumerable
    {
        // Сводка:
        //     Возвращает перечислитель, осуществляющий итерацию в коллекции.
        //
        // Возвращает:
        //     Объект System.Collections.IEnumerator, который может использоваться для перебора
        //     коллекции.
        [DispId(-4)]
        IEnumerator GetEnumerator();
    }
Итак, по порядку, что мне не понятно:
строка
Код:
[ComVisible(true)]
как дает определение Visual Studio, когда навожу курсор настроку:
** class System.Runtime.Interop.Services.Com VisibleAttribute
Управляет доступгостьб отдельног управляемого типа или члена или всех типов в сборке для COM **
Итак, вопросы в студию:
  • InteropServices - ?
  • COM - это что вообще ?
  • ComVisibleAttribute - ?
  • что за ComVisible
Код:
[ComVisible(true)]
- какую роль он выполняет
  • Управляемый тип\член ?
Далее:
Код:
 [DispId(-4)]
Опять же, оределение Visual Studio
** class System.Runtime.InteropServices.Disp ldAttribute
Задает идентификатор диспетчирезации COM(DISPID) для метода, поля или свойства. **
  • идентификатор диспетчирезации COM(DISPID) - что!?
  • диспетчирезация COM - ?
  • DISPID - ?
И значит захожу я в этот
Код:
 [DispId(-4)]
А там вот такое:
Код:
public sealed class DispIdAttribute : Attribute
    {
        // Сводка:
        //     Инициализирует новый экземпляр класса DispIdAttribute, используя указанный
        //     идентификатор DISPID.
        //
        // Параметры:
        //   dispId:
        //     Идентификатор DISPID для этого члена.
        public DispIdAttribute(int dispId);
 
        // Сводка:
        //     Возвращает идентификатор DISPID для члена.
        //
        // Возвращает:
        //     Идентификатор DISPID для этого члена.
        public int Value { get; }
    }
и как я понял, этот
Код:
 [DispId(-4)]
- это конструктор класса DispIdAttribute ?
Умоляю дать подробный и развернутый ответ, без вот этого : "там есть некие механизмы, но так как ты сейчас только начал учить коллекции, то тебе это будет не нужно и даже мешать" - поверьте, мне нужно все. Отвечать на вопросы можно, даже нужно так, что бы эти разрозненные вопросы в итоге сформировали один комплексный ответ.
BadCats вне форума Ответить с цитированием
Старый 31.08.2016, 13:37   #2
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
COM - это что вообще ?
дальше не интересно ни читать ни отвечать
все это давно и прекрасно расписано в первоисточниках, а сколько уже статей блогов и др. так и не сосчитать
come-on вне форума Ответить с цитированием
Старый 31.08.2016, 14:57   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)IEnumerable это работа с перечислимым, не всякий IEnumerable это коллекция.
коллекции это ICollection.
2)вбиваете нужный класс в гугл и читаете на MSDN.
3)а зачем вы вообще туда полезли? рановато вам, для вас это объяснение и будет выглядеть как вы описали.
4)для аттрибутов C# позволяет опускать Attribute часть при использовании.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# MVC5 Добавить новую запись в IEnumerable ogamilait ASP.NET 2 14.11.2014 20:57
последний зашел, первый вышел RusikOk Общие вопросы C/C++ 6 05.11.2014 20:22
IEnumerable/IEnumerator ts-alan C# (си шарп) 2 23.07.2013 17:09
Зашел поздороваться (после Армии) Neymexa Свободное общение 21 05.08.2011 17:39
System.Collections.IEnumerable; как его подключить? boris-blade Общие вопросы .NET 4 15.03.2010 01:36