| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > List<T> и ref |
| Автор: artstalker 24.4.2010, 16:43 | ||
| Всем добрый день. У меня такой вопрос. Почему нельзя передавать в параметры метода по ссылки значения из List<T>? Т.е. к примеру такой код не компилируется:
|
| Автор: Любитель 24.4.2010, 17:04 |
| Потому что ref применяется только к полям и переменным (строго говоря - ещё к элементам массива, но компилятор шарпа такого не поддерживает). К свойствам - нельзя. |
| Автор: artstalker 24.4.2010, 17:21 | ||
Почему не поддерживает? Поддерживает. С элементами массива всё работает. |
| Автор: Любитель 24.4.2010, 19:14 |
| Да, действительно. Сорри, был не прав. Но, что касается свойств (индексеры - это параметризованные свойства), то к ним ref применить нельзя в любом случае. ref/out фактически работают с управляемыми указателями. Свойство - это методы + дополнительные метаданные. Тут не на что указатель брать. Ну а индексеры - это параметризованные свойства. |