0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 35
1

Свойства (set,get) трансляция в main

26.09.2018, 06:45. Показов 769. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток компьютерщики! Не получается посмотреть как работает свойство(...,set) . А именно хочу вывести через Console.WriteLine("{0}", UserInfo.a); в мэйне. что бы посмотреть изменилось ли значение..( после set), относительно других WriteLine расставленных в классе. но он пишет:

Ошибка CS0122 'UserInfo.a" недоступен из-за его уровня защиты. ConsoleApp23
C:\Users\Lenovo\source\repos\ConsoleApp23\ConsoleApp23\Program.cs 45 Активный

В классе ,там где коментарии выделено вопросиками ...
Это так типа и должно быть? Тогда как мне лучше выводить значения?
Вот что мне в итоге нужно по заданию!
o Свойства:
 возвращающее общее количество элементов в строке (доступное только для чтения);
 позволяющее установить значение поля, в соответствии с введенным значением строки с клавиатуры, а также получить значение данного поля (доступно для чтения и записи)
З.Ы Шилдта только начал читать...



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
class UserInfo
{
    int a = 5;
    string s = "Alex";
    StringBuilder sA = new StringBuilder(Console.ReadLine());
    //Console.WriteLine("a=:  {0}",a);
    // Создадим свойство, управляющее
    // доступом к переменной a
    public int Age
    {
        get
        {
            if (sA.Length <= 3) // если  количество символов более 3 то...
            { return 1; }       // то шлет 1
             return 2;           //если нет 2
        }
        set
        {
            a = 1;           //   ???   тут меняем значение (изменится ли он в начале класса. и  в Мэйн)???
            a = value;          
        }
    }
          //метод
          public int CostrStrings()
          {
            Console.WriteLine("(в методе)a={0}", a);
             return a;
          }
}   class Program
    {
        static void Main()
        {
           UserInfo ui = new UserInfo();
           //string myName = ui.Name;
           Console.WriteLine("{0}", ui.Age);
 
           UserInfo b = new UserInfo();
            int c = ui.CostrStrings();
           Console.WriteLine("{0}", UserInfo.a);
           Console.ReadLine();
        }
    }
Миниатюры
Свойства (set,get) трансляция в main  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2018, 06:45
Ответы с готовыми решениями:

Выполнить команду в set свойства для свойства SelectedItem (ComboBox ) MVVM
Хай Коротко: при каждом выборе элемента из ComboBox нужно выполнять команду, для которой в...

Свойства get set
Доброй ночи. public class Date { private int month = 7; public int Month ...

свойства get;set;
Доброе время суток, решил на досуге почитать тут про лямбда выражения и с ужасом для себя открыл,...

Свойства set get
Написал код с использованием свойств, но они не используються( Тоесть они вроде есть, но смысла от...

2
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
26.09.2018, 08:05 2
Sneg1989, Не совсем понятно что вы в своем коде делаете, но если по заданию, то должно быть что-то вроде этого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Program
    {
        public static void Main(string[] args)
        {
            string str = Console.ReadLine();
            UserInfo user = new UserInfo(str);
            Console.WriteLine(user.Count); //Здесь получим кол-во элементов
            Console.WriteLine(user.Count = 5); //Здесь ошибка "Доступ только для чтения"
           
        }
    }
       
    class UserInfo
    {
        public UserInfo (string Name)
        {
 
            str = Name;
            
        }
        public int Count
 
        {
        get {
                return count = str.Count();
            }
        }
 
        int count;
        string str { get; set; }
    }
Добавлено через 9 минут
P.S. наверное, всё-так так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class UserInfo
    {
        
        public string Name
        {
            get 
            {
                return str;
            }
            set
            {
                str = value;
            }
        }
 
        public int Count
 
        {
        get {
                return count = str.Count();
            }
        }
 
        int count;
        string str { get; set; }
    }
0
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
26.09.2018, 08:20 3
Цитата Сообщение от PoPsa85 Посмотреть сообщение
Не совсем понятно что вы в своем коде делаете
Sneg1989, вот самый главный смысл программирования.
Программа - это описание действий. Какой первый шаг - напишите. Какой второй шаг - напишите. Какой третий шаг - напишите. Это и есть программирование.

Если программа - мусор из букв, то это не программа.

Добавлено через 7 минут
Вот например:
C#
1
2
           UserInfo ui = new UserInfo();
           Console.WriteLine("{0}", ui.Age);
Создали буфер для данных одного пользователя.

Я не знаю этого пользователя и не указываю его.
Зачем мне возраст пользователя, если я не знаю, о ком речь?
0
26.09.2018, 08:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2018, 08:20
Помогаю со студенческими работами здесь

Свойства get и set
Можно ли изменить тип возвращаемого значения через свойства? Или же свойства не приспособлены к...

Автоматические свойства get set
class Start { static void Main() { Test t = new Test(7); ...

Свойства get set: каково их назначение
Можете простым языком обьяснить что значат get и set?

Свойства или Set & Get ?
Ранее до изучения C# я постоянно использовал методы Set и Get для работы с приватными переменными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru