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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться со свойствами, Помогите разобраться со свойствами(name) 
:(
    Опции темы
Serjeo
Дата 24.2.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я хочу создать некую коллекцию в которой размещены объекты моего типа AnalysisParameter.  Как сделать так, чтобы при добавлении в коллекцию объектов моего типа можно было видеть и изменять свойство "(name)" у каждого? Или иначе, чтобы каждый элемент коллекции сериализовать как отдельный объект?
Код

    public class AnalysisParameter
    {
        private Double FMin = new double();
        private Double FMax = new double();
        private bool FSelected = new bool();
        public AnalysisParameter()
        {

        }
        public Double Min
        {
            get
            {
                return FMin;
            }
            set
            {
                FMin = value;
            }
        }
        public Double Max
        {
            get
            {
                return FMax;
            }
            set
            {
                FMax = value;
            }
        }
        public bool Selected
        {
            get
            {
                return FSelected;
            }
            set
            {
                FSelected = value;
            }
        }
    }
 
PM MAIL   Вверх
Unsane
Дата 24.2.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

using System.Collections;
...
            Hashtable myObjects = new Hashtable();
...
            myObjects.Add("Параметр1", new AnalysisParameter());
            myObjects.Add("Параметр2", new AnalysisParameter());
            myObjects.Add("Параметр3", new AnalysisParameter());
...
            AnalysisParameter myAPO = (AnalysisParameter)myObjects["Параметр1"];
            myAPO.Selected = true;

--------------------
Я дурак.. Этим и интересен!
PM MAIL   Вверх
marcusmae
Дата 24.2.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


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

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



Код

using System.Collections.Generic;
...
            Dictionary<string, AnalysisParameter> myObjects = new  Dictionary<string, AnalysisParameter>();
...
            myObjects.Add("Параметр1", new AnalysisParameter());
            myObjects.Add("Параметр2", new AnalysisParameter());
            myObjects.Add("Параметр3", new AnalysisParameter());
...
            AnalysisParameter myAPO = myObjects["Параметр1"];
            myAPO.Selected = true;



--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Exception
Дата 25.2.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Мне кажется, что строки

Код
        private Double FMin = new double();
        private Double FMax = new double();
        private bool FSelected = new bool();


было бы неплохо заменить более информативными

Код
        private double FMin = 0.0;
        private double FMax = 0.0;
        private bool FSelected = false;


(не говоря уже о правилах именования закрытых полей класса)

Добавлено через 3 минуты и 58 секунд
Если уж совсем придираться, вот так выглядит гораздо лучше:

Код
    public class AnalysisParameter
    {
        private double min = 0.0;
        private double max = 0.0;
        private bool selected = false;

        public AnalysisParameter ()
        {
        }

        public double Min
        {
            get { return min; }
            set { min = value; }
        }

        public double Max
        {
            get { return max; }
            set { max = value; }
        }

        public bool Selected
        {
            get { return selected; }
            set { selected = value; }
        }
    }


Индентация и скобочки автора оставлены без изменений smile .
PM   Вверх
marcusmae
Дата 25.2.2008, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


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

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



Цитата(Exception @  25.2.2008,  01:03 Найти цитируемый пост)
(не говоря уже о правилах именования закрытых полей класса)


Ээ..? Ну, допустим, с маленькой буквы обычно дают имена переменных, и, если имя - фраза, то делят заглавными буквами :

Код

int myIntegerVar;


По кр. мере я так делаю smile Может, за несколько лет своих правил накультивировал, но вот причин наличия спец. нотации по областям видимости не вижу никаких. На этот счёт есть какие-либо авторитетные мнения?

А вот 
Код

            get { return selected; }
            set { selected = value; }

- ах, обожаю smile getы-setы в одну строчку - мегаэстетична! smile

Добавлено через 1 минуту и 44 секунды
Цитата(Exception @  25.2.2008,  01:03 Найти цитируемый пост)
(не говоря уже о правилах именования закрытых полей класса)


оказывается, с подчерком. Да?


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Exception
Дата 25.2.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(marcusmae @  25.2.2008,  02:20 Найти цитируемый пост)
но вот причин наличия спец. нотации по областям видимости не вижу никаких


Это полезно, чтобы отличать, например, поля и свойства класса. Поля -- camelCase, свойства -- PascalCase.
Даже ребята из Microsoft и Mono в этом соглашаются smile .

Цитата(marcusmae @  25.2.2008,  02:20 Найти цитируемый пост)
оказывается, с подчерком. Да? 


Раньше я так и делал, но потом отказался. Сейчас именую простым camelCase.
PM   Вверх
QryStaL
Дата 25.2.2008, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



Цитата(marcusmae @  25.2.2008,  01:20 Найти цитируемый пост)
оказывается, с подчерком. Да?


Do not use underscores, hyphens, or any other nonalphanumeric characters. © MSDN


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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