Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массив элементов 
:(
    Опции темы
granit1986
Дата 19.11.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



Как сделать массив из одинаковых элементов на форме, скажем элементов Label, чтобы можно было обращаться к ним по индексу?
PM MAIL   Вверх
SpaceSpace
Дата 19.11.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: нет
Всего: 10



Очен просто. делаеш массив Label, и помещаеш туда ссылки Label'ов,
а потом обращаешся к ним по индексу.
в твоем вопросе уже есть ответ
Код

    List<Label> labelList = new List<Label>();
        public Form1()
        {
            InitializeComponent();
            labelList.Add(this.label1);
            labelList.Add(this.label2);
        }


Это сообщение отредактировал(а) SpaceSpace - 19.11.2008, 15:24


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
Dmitry1
Дата 19.11.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 13.11.2008

Репутация: нет
Всего: нет



а зачем вообще такое может понадобиться?
PM MAIL   Вверх
jorikdima
Дата 19.11.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 18.1.2008
Где: Там, где Зенит

Репутация: нет
Всего: нет



панель как контейнер использовать.
PM MAIL   Вверх
SpaceSpace
Дата 19.11.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: нет
Всего: 10



а в панели разве нет своего внутреннего контейнера?


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
gambit
Дата 20.11.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Dmitry1, у тебя 50 textbox'ов на форме, тебе надо их все очистить, у тебя есть возможность

Код

textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
...
textBox49.Text="";
textBox50.Text="";


а можно

Код

for(int i=0;i<50;i++)
{
textbox[i].Text="";
}


Пример корявый, но суть отражает.
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 20.11.2008, 15:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



gambit, а можно один раз написать свой FindControls<T>(Control parent, Predicate<T> p) с yield внутри. И больше никогда не заморачиваться с массивами контролов.
Вот примерно так:
Код

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace SomeUselessUtils
{
    public static class ControlExtenders
    {
        public static IEnumerable<Control> FindControls<T>(this Control parent)
            where T : Control
        {
            return parent.FindControls<T>(null);
        }

        public static IEnumerable<Control> FindControls<T>(this Control parent, Predicate<T> condition) 
            where T : Control
        {
            foreach (Control child in parent.Controls)
            {
                T controlToCheck = child as T;
                if (controlToCheck != null && (condition == null || condition(controlToCheck)))
                {
                    yield return controlToCheck;
                }

                foreach (Control deepChild in child.FindControls<T>(condition))
                {
                    yield return deepChild;
                }
            }
        }
    }
}


Это сообщение отредактировал(а) PashaPash - 20.11.2008, 16:27


--------------------
PM MAIL WWW   Вверх
gambit
Дата 20.11.2008, 16:41 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



PashaPash, да я не спорю, можно и файл открывать в 50 строчек. К чему лишний геморой?? Данная проблема встречаеться не так часто чтобы думать над ней, писать 30 строчек кода. ИМХО излишняя сложность, которая никому не нужна.
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 20.11.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



gambit, лишняя сложность - это вмето использования готовой коллекции контролов создавать еще одну. Пример с очисткой текстбоксов - это не только твой for в 3 строчки. Это еще и создание textbox[], ручное добавление в него и в Controls одновременно, и потом непонятная синхронизация двух коллекций, проблемы с утечками памяти. Как-то слишком у тебя гемморойно для очистки текстбоксов получается. IMHO пример не то чтобы "немножко кривоватый", он решает ту же проблему намного сложнее чем FindControls. И нифига не отвечает на вопрос "а зачем вообще такое может понадобиться".


--------------------
PM MAIL WWW   Вверх
granit1986
Дата 23.11.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



я вот помню в Visual Basic 6 при копировании элемента и вставки на ту же форму, предлагалось создать массив этих элементов и ничего не надо было писать в коде. можно было легко обращаться по индексу (:
PM MAIL   Вверх
granit1986
Дата 7.12.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



мда... так никто ничего и не сказал нужного, а между тем всё оказалось до банального просто ((:

Код

Button[] newButton = new Button[16];
for (int i = 0; i < newButton.Length; i++)
            {
                newButton[i] = new Button();
                Controls.Add(newButton[i]);
            }


Это сообщение отредактировал(а) granit1986 - 7.12.2008, 19:25
PM MAIL   Вверх
EgoBrain
Дата 8.12.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: 1
Всего: 2



Да просто надо понимать что Button или еще какой-нить контрол - это класс, а класс - это тип данных, а над любым типом данных можно производить стандартные операции (создавать массив, перебирать и т.п.). Ну кончено смотря что понимать под стандартными операциями smile
PM MAIL ICQ Skype   Вверх
SpaceSpace
Дата 9.12.2008, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: нет
Всего: 10



granit1986, 
внимательно читай что тебе говорят и правильно формулируй вопросы.



--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
L1729
Дата 12.12.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 6.3.2008

Репутация: нет
Всего: нет



SpaceSpace
помойму вопрос был задан вполне корректно, только вот вы решили с умничать в ответе, а теперь притензии к нему? не красиво так делать!
PM MAIL   Вверх
source777
Дата 12.12.2008, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(granit1986 @  7.12.2008,  19:24 Найти цитируемый пост)
мда... так никто ничего и не сказал нужного, а между тем всё оказалось до банального просто ((:

PashaPash тебе всё что нужно по этому вопросу сказал и стандартное решение привёл и даже объяснил почему твоё "до банального просто" использовать не стоит... единственное только пример использования он не привёл.
Очистить все TextBox`ы внутри groupBox1 можно, например, такой строчкой:
Код

groupBox1.FindControls<TextBox>().ForEach(x => x.Text = "");

где ForEach, ставший уже стандартом де-факто для таких случаев, есть расширяющий метод (помести в статический класс в области видимости)
Код

        public static void ForEach<T>(this IEnumerable<T> list, Action<T> action)
        {
            foreach (var item in list) action(item);
        }


Прелесть этого способа даже не в том, что очистку текстбоксов можно провернуть с помощью одной строки, а в том, что этот способ сработает для любого набора контролов, а твой только для массива, который ты захардкодил...

Это сообщение отредактировал(а) source777 - 12.12.2008, 23:54


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
granit1986
Дата 13.12.2008, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 17.6.2008

Репутация: нет
Всего: нет



блин, я же задал конкретный вопрос - как сделать через массив!!! если я спросил так, значит мне ТАК надо!
PM MAIL   Вверх
source777
Дата 13.12.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(granit1986 @  13.12.2008,  08:27 Найти цитируемый пост)
блин, я же задал конкретный вопрос - как сделать через массив!!! если я спросил так, значит мне ТАК надо! 
Ты кстати даже не ответил на вопрос зачем это может понадобится, след. ты сам не знаешь, что тебе надо...
А с формулировкой "мне ТАК надо" тебе не на форум, а в платную тех. поддержку обращаться надо, а на форуме, если повезёт, тебе подскажут как правильно, а не как тебе "надо"(в этот раз тебе повезло - подсказали как делать правильно, но ты этого абсолютно не оценил)... 

Это сообщение отредактировал(а) source777 - 13.12.2008, 14:26


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
okaton
Дата 13.12.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



 smile объясните неопытному, а что такое написал PashaPash и как это использовать. Если можно не слишком умничая smile 
PM MAIL   Вверх
nagg
Дата 13.12.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: 4
Всего: 4



Цитата(okaton @ 13.12.2008,  16:53)
smile объясните неопытному, а что такое написал PashaPash и как это использовать. Если можно не слишком умничая smile

написал расширяющие методы для обьекта формы (или иного контейнера) для получения однотипных контролов в виде массива, что и требовалось создателю сабжа...
Собсно курить в сторону Extension Method's, lambda-expressions...
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
okaton
Дата 13.12.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



nagg Некоторые человеки, например я, которые не часто курят, с одного перекура не вкурятся в это

Цитата

написал расширяющие методы для обьекта формы (или иного контейнера) для получения однотипных контролов в виде массива, что и требовалось создателю сабжа...
Собсно курить в сторону Extension Method's, lambda-expressions... 


видимо мы курим разную траву.

Можно про использование и определение еще по проще, на пальцах. Типа это туда, это сюда... Я серьезно. Я и все те которые еще не вкурились будут очень благодарны! Ну в самом деле, если вы решились помочь, затратьте на 30 секунд по больше, ответьте более широко. А то глядя на ваш ответ, мне остается только восхищаться вашим мастерством и моим тупизмом, срочно удалить студию, сжечь книжку и никогда не произносить слово программирование...

Это сообщение отредактировал(а) okaton - 13.12.2008, 22:08
PM MAIL   Вверх
nagg
  Дата 13.12.2008, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: 4
Всего: 4



Цитата(okaton @ 13.12.2008,  22:07)
nagg Некоторые человеки, например я, которые не часто курят, с одного перекура не вкурятся в это

Цитата

написал расширяющие методы для обьекта формы (или иного контейнера) для получения однотипных контролов в виде массива, что и требовалось создателю сабжа...
Собсно курить в сторону Extension Method's, lambda-expressions... 


видимо мы курим разную траву.

Можно про использование и определение еще по проще, на пальцах. Типа это туда, это сюда... Я серьезно. Я и все те которые еще не вкурились будут очень благодарны! Ну в самом деле, если вы решились помочь, затратьте на 30 секунд по больше, ответьте более широко. А то глядя на ваш ответ, мне остается только восхищаться вашим мастерством и моим тупизмом, срочно удалить студию, сжечь книжку и никогда не произносить слово программирование...

Держите себя в руках. вот вам статейка http://www.rsdn.ru/article/csharp/Csharp3_Linq.xml - тут всё "на пальцах" последовательно изложено про фичи 3его фраемворка, включая злобные расширяющие методы - после этой статьи понять коды товарища ПашиПаш не составит труда
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
okaton
Дата 14.12.2008, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



nagg, спасибо smile
PM MAIL   Вверх
PashaPash
Дата 14.12.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



okaton, кстати, yield появился еще во 2-м C#. Общая цепочка примерно такая:
1. нужно перебрать все контролы определенного типа - значит foreach по Controls.
2. перебрать - значит возвращает IEnumerable
3. все - значит с рекурсией
4. раз возвращает IEnumerable - можно не искать сразу все контролы, а возвращать по одному, по мере того как вызывающий код идет по результату.
5. определенного типа - значит generic method
6. топикастер не указал версию .net - значит 3.5, можно написать метод расширения, и не передавать лишний параметр при вызове.
7. топикастер не знает, но ему понадобится возможность отсеивать "левые" результаты - значит передаем предикат.
Берешь пустой класс, идешь по пунктам - получаешь примерно такой результат.


--------------------
PM MAIL WWW   Вверх
nagg
Дата 14.12.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: 4
Всего: 4



Цитата(PashaPash @ 14.12.2008,  12:39)
okaton
6. топикастер не указал версию .net - значит 3.5, можно написать метод расширения, и не передавать лишний параметр при вызове.

для использования расширяющих методов не обязателен таргет фраемворк 3.5 - можно обойтись и 2.0ым (правда, для этого придётся чуть-чуть схитрить)
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
okaton
Дата 14.12.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



PashaPash, спасибо вам большое (+), не знаю как другие, а я буду использовать.

Раньше пользовался таким методом:
Код

private void InitializeComponent()
   {       this.dataGridViewarray = new System.Windows.Forms.DataGridView[2]; ...}   
   #endregion   
   private System.Windows.Forms.DataGridView[] dataGridViewarray;

   public Form1()
   {
       InitializeComponent();            
       dataGridViewarray[0] = dataGridView1;
       dataGridViewarray[1] = dataGridView2;
   }


Если не затруднит, скажите пожалуйста, а как его подключить и вызвать. До ссылки (если там это описано) nagg, я еще не добрался...

nagg может я спрошу какую-то глупость, а что такое топикастер? Якая хытрость существует? Договаривайте, не томите smile

Это сообщение отредактировал(а) okaton - 14.12.2008, 16:23
PM MAIL   Вверх
source777
Дата 14.12.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(okaton @  14.12.2008,  15:44 Найти цитируемый пост)
может я спрошу какую-то глупость, а что такое топикастер?
Тот, кто создал тему, ну или по английски "стартанул топик"  smile 

Цитата(okaton @  14.12.2008,  15:44 Найти цитируемый пост)
Если не затруднит, скажите пожалуйста, а как его подключить и вызвать.
Смотри моё сообщение выше, я там привёл пример использования.



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
okaton
Дата 14.12.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



source777, про топикастер  smile , улыбнуло, спасибо.
Цитата

Смотри моё сообщение выше, я там привёл пример использования.

Я не спрашивал про использование. 

Я спрашивал про подключение, встраивается непосредственно в мой код, или в (не знаю как по другому назвать) "файл" и его подключить к проекту. И еще я спросил про вызов (ну и заодно связь).
PM MAIL   Вверх
source777
Дата 14.12.2008, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(okaton @  14.12.2008,  20:41 Найти цитируемый пост)
source777, про топикастер  smile , улыбнуло, спасибо.
Кстати только сейчас заметил, что в слове пропущено несколько букв, правильно пишется топикстартер.

Цитата(okaton @  14.12.2008,  20:41 Найти цитируемый пост)
Я не спрашивал про использование. 

Я спрашивал про подключение, встраивается непосредственно в мой код, или в (не знаю как по другому назвать) "файл" и его подключить к проекту. И еще я спросил про вызов (ну и заодно связь). 
Просто добавь к проекту файл с кодом:
Код

using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SomeUselessUtils
{
    public static class ControlExtenders
    {
        public static void ForEach<T>(this IEnumerable<T> list, Action<T> action)
        {
            foreach (var item in list) action(item);
        }

        public static IEnumerable<Control> FindControls<T>(this Control parent)
            where T : Control
        {
            return parent.FindControls<T>(null);
        }
        public static IEnumerable<Control> FindControls<T>(this Control parent, Predicate<T> condition) 
            where T : Control
        {
            foreach (Control child in parent.Controls)
            {
                T controlToCheck = child as T;
                if (controlToCheck != null && (condition == null || condition(controlToCheck)))
                {
                    yield return controlToCheck;
                }
                foreach (Control deepChild in child.FindControls<T>(condition))
                {
                    yield return deepChild;
                }
            }
        }
    }
}


Ну а в файле, из которого ты хочешь перебирать компоненты, добавь:
using SomeUselessUtils;

Всё, можно приступать к использованию, про которое ты не спрашивал...


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
QryStaL
Дата 14.12.2008, 20:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32



okaton, судя по вашим вопросам, для начала было бы неплохо почитать основы .NET, прежде чем браться за extension methods и lambda expressions.
Кроме того, ответ уже был дан
Цитата(source777 @  12.12.2008,  23:49 Найти цитируемый пост)
помести в статический класс в области видимости



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
okaton
Дата 14.12.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



QryStaL, это ветка для новичков (еще) или я что-то путаю? а с умничать может любой, особенно в интернете  smile  
PM MAIL   Вверх
source777
Дата 14.12.2008, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата(okaton @  14.12.2008,  20:59 Найти цитируемый пост)
это ветка для новичков (еще) или я что-то путаю? а с умничать может любой, особенно в интернете  smile   

Хочется высказать своё мнение по данному вопросу:
1) Я, например, вообще почти никогда не смотрю на название ветки, исключение когда я задаю вопрос, а не отвечаю.
2) Не надо давить на жалость, все когда-то что-то начинали, главное собственное желание разобраться, ибо как говорил Эмертон:
Единственный педагогический метод, всегда и везде дающий результат, - в непрерывной учёбе и практической деятельности опираться на собственную неутомимую энергию.
3) Не надо думать, что своими ответами кто-то умничает или издевается над тобой, с большой долей вероятности это просто привычная для человека форма изложения мыслей(ведь нет повода умничать перед незнакомыми людьми), не надо обвинять кого-то, в том что он якобы обкурился, и не может объяснить так, чтобы ты понял, это очень некрасиво с твоей стороны оскорблять человека, который тебе помогает. Ведь он не знает тебя лично и каков твой уровень знаний, чтобы понять как тебе надо объяснять, и даже если поймёт он не обязан всё объяснять в мельчайших деталях, это личное право каждого изъясняться на привычном языке,  однако ты должен приложить все свои силы, чтобы понять то объяснение, которое есть, а не просто требовать более понятного. Именно непонятность стимулирует умственную деятельность.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
nagg
  Дата 14.12.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: 4
Всего: 4



Мне кажется трудность - в восприятии расширяющих методов - трудно не понимая что это такое, понять что достаточно просто добавить статический класс с расш. методами и они тут же доступны через обьекты, которые они собсно и расширяют  smile 
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
QryStaL
Дата 14.12.2008, 22:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32



Цитата(okaton @  14.12.2008,  20:59 Найти цитируемый пост)
QryStaL, это ветка для новичков (еще) или я что-то путаю? а с умничать может любой, особенно в интернете


По этому поводу будет уместно привести одну небольшую цитату

Цитата

Прежде, чем задавать технический вопрос по электронной почте или в дискуссионную группу, в чате или на форуме, сделайте следующее:
Попытайтесь найти ответ с помощью поиска в Web.
Попытайтесь найти ответ в руководстве.
Попытайтесь найти ответ в списке часто задаваемых вопросов (ЧаВО).
Попытайтесь найти ответ путем проверок или экспериментов.
Спросите опытного товарища.
Если вы - программист, попытайтесь найти ответ, анализируя исходный код.
Когда задаете вопрос, укажите с самого начала, что вы все это уже сделали; это поможет понять, что вы не какой-нибудь лентяй, транжирящий чужое время. Еще лучше, покажите, что вы узнали в результате своих поисков.

© Как правильно задавать вопросы

Цитата(okaton @  14.12.2008,  15:44 Найти цитируемый пост)
а как его подключить и вызвать. До ссылки (если там это описано) nagg, я еще не добрался...

То есть вы даже не попытались прочитать статью, которую вам порекомендовали. И тон у вас нагловатый местами...


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
okaton
Дата 15.12.2008, 11:51 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



Хочется сказать, что я не хотел никого обидеть своими высказываниями, не все стоит воспринимать буквально. А про "курить" это вообще шутка была, цель которой была вызвать смех у собеседника, но ни как не обиду. Тем не менее я приношу извинения всем кого я обидел (хотя до высказывания QryStaL у меня и мыслей таких не было). Я стараюсь руководствоваться поговоркой про колодец (из которого пьют). Про то что я давлю на жалость это вы зря, я старался называть вещи своими именами, что бы так сказать процесс объяснения упростился. Помнится, когда я учился, долгое время не мог понять роль транзистора в электронике, слова учебника во мне не находили пристанища (запомнил, а что толку, если не понял, что запомнил). А потом товарищ объяснил, что фишка в управляющих токах. И все стало на свои места, после этого я и учебник и понял (и вообще весь скрытый смысл жизни (это кстати шутка)) А давить, кстати лучше на слабо, а еще лучше создать спортивный интерес (азарт). Жалость это как-то низко, молится я ни на кого не собираюсь и стелиться не перед кем не буду. А в целом вы в принципе правы... smile 


QryStaL,  smile , и на этом стоило бы остановится, но я себе еще чуть-чуть позволю. Вот вы меня пытаетесь учить жить, и тем самым задели мое самолюбие, что вызывает  самую тяжелую форму агрессии. Вовремя не выплеснутая агрессия ведет к стрессу и т.д. Осторожнее со словами, в реальной жизни люди могут жестко прореагировать и страна может потерять ценного программиста, а это в свете демографического кризиса по стране - антипатриотично!  smile На всякий случай оговорюсь, что это не угроза, а совет. Я вам тоже хочу привести цитату (выдранную из контекста) из басни: "... зачем барсук залез на сук? ..." Дальше додумаете, а при хорошем воображении до сочиняете (имеется в виду не басня, а мои высказывания). 

Вообще конечно грустно видеть во что превращается банальный вопрос.

Это сообщение отредактировал(а) okaton - 15.12.2008, 12:31
PM MAIL   Вверх
QryStaL
Дата 15.12.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32



 smile 

Цитата(okaton @  15.12.2008,  11:51 Найти цитируемый пост)
Вот вы меня пытаетесь учить жить, и тем самым задели мое самолюбие

Я думаю, что к здравой критике стоит прислушиваться (если считаете, что она не здравая - опровергните). Делать это или нет - личное дело каждого. А учить жить - дело неблагодарное, нет у меня желания этим заниматься.

Цитата(okaton @  15.12.2008,  11:51 Найти цитируемый пост)
в реальной жизни люди могут жестко прореагировать и страна может потерять ценного программиста

Прямо триллер какой-то  smile Страшно по улицам ходить.

Цитата(okaton @  15.12.2008,  11:51 Найти цитируемый пост)
Вообще конечно грустно видеть во что превращается банальный вопрос.

Грустно видеть, что человек не хочет приложить усилия, чтобы в чем-то разобраться.



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.