powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Свойство внутри класса
22 сообщений из 22, страница 1 из 1
Свойство внутри класса
    #38121904
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста, почему свойство (вернее его значение) авторpass не видно внутри класса conn?
А вне класса все видно...


Код: 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.
    public class conn
    {
        public String _pass;
        public String pass
        {
            get { return this._pass; }
            set { this._pass = value; }
        } 

        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();
            conn a=new conn();

            connstr.DataSource = "SQL";
            connstr.InitialCatalog = "project";
            connstr.UserID = "йй";
            connstr.Password = a.pass;

            return connstr.ToString();
        }


    }




т.е. вне класса задаю значение - внутри класса pass=null, а вне класса pass= заданному значению


Заранее благодарен.
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121915
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывих мозга, а нахрена внутри класса создавать новый экземпляр этого же класса ?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121922
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

код покажи, как задаёшь, как проверяешь
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121924
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahСкажите пожалуйста, почему свойство (вернее его значение) авторpass не видно внутри класса conn?
А вне класса все видно...


Код: 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.
    public class conn
    {
        public String _pass;
        public String pass
        {
            get { return this._pass; }
            set { this._pass = value; }
        } 

        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();
            conn a=new conn();

            connstr.DataSource = "SQL";
            connstr.InitialCatalog = "project";
            connstr.UserID = "йй";
            connstr.Password = a.pass;

            return connstr.ToString();
        }


    }




т.е. вне класса задаю значение - внутри класса pass=null, а вне класса pass= заданному значению


Заранее благодарен.
Хотя бы так сделай
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public class conn
    {
        public String _pass;
        public String pass
        {
            get { return this._pass; }
            set { this._pass = value; }
        } 

        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();

            connstr.DataSource = "SQL";
            connstr.InitialCatalog = "project";
            connstr.UserID = "йй";
            connstr.Password = _pass;

            return connstr.ToString();
        }


    }
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121929
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public class conn
    {
        string _pass;
        public string pass
        {
            get { return this._pass; }
            set { this._pass = value; }
        } 

        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();

            connstr.DataSource = "SQL";
            connstr.InitialCatalog = "project";
            connstr.UserID = "йй";
            connstr.Password = _pass;

            return connstr.ToString();
        }


    }
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121930
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransaВывих мозга, а нахрена внутри класса создавать новый экземпляр этого же класса ?

но так тоже не работает, null возвращает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();
           
            .....
            connstr.Password = pass;

            return connstr.ToString();
        }
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121935
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahfortibransaВывих мозга, а нахрена внутри класса создавать новый экземпляр этого же класса ?

но так тоже не работает, null возвращает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();
           
            .....
            connstr.Password = pass;

            return connstr.ToString();
        }
Ну дык наверное надо этому pass что-то присвоить, перед тем как обращаться к str_conn
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121939
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

писец, ты вообще про ООП не слышал?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121951
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransavahпропущено...


но так тоже не работает, null возвращает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();
           
            .....
            connstr.Password = pass;

            return connstr.ToString();
        }
Ну дык наверное надо этому pass что-то присвоить, перед тем как обращаться к str_conn


задаю так:


автор private void button2_Click(object sender, EventArgs e)
{
conn c=new conn();
conn.login = textBox1.Text;
conn.psw = textBox2.Text;
c.pass = textBox2.Text;
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121959
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вот после этого
Код: c#
1.
conn a=new conn();

надо задать )
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38121984
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присваиваю значение свойству так:


автор private void button2_Click(object sender, EventArgs e)
{
conn c=new conn();
c.pass = textBox2.Text;

само свойство в классе:

авторpublic class conn
{
string _pass;
public string pass
{
get { return this._pass; }
set { this._pass = value; }
}

public String str_conn()
{
var connstr = new SqlConnectionStringBuilder();

connstr.DataSource = "SQL";
connstr.InitialCatalog = "project";
connstr.UserID = "йй";
connstr.Password = _pass;

return connstr.ToString();
}


}


после инициализации свойства вне класса, внутри класса в методе str_conn()
значение _pass=null

вне класса присвоенное значение видно, все ок

почему?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122028
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SyrexТак вот после этого
Код: c#
1.
conn a=new conn();


надо задать )

а при создании нового объекта сласса

авторconn c1 = new conn();

присвоенные значения свойству этого класса обнуляются?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122088
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahприсвоенные значения свойству этого класса обнуляются?

что такое значения свойства этого класса ? учите ООП, мля
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122159
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah, вот хорошая книжка для начинающих: Изучаем C# .
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122606
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahprivate void button2_Click(object sender, EventArgs e)
{
conn c=new conn();
conn.login = textBox1.Text;
conn.psw = textBox2.Text;
c.pass = textBox2.Text;


вот это вот как так?
conn.login = textBox1.Text;

conn - это имя твоего класса - так можно сделать если только поле помечено словом static - чего в объявлении класса у тебя нет.
и зачем тебе вообще здесь класс? в коде прямо в button2_Click сформировать строку подключения вообще никак?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122641
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пилять.
ф топку
авторprivate void button2_Click(object sender, EventArgs e)
{
conn c=new conn();
conn.login = textBox1.Text;
conn.psw = textBox2.Text;
c.pass = textBox2.Text;
}
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
private void button2_Click(object sender, EventArgs e)
{
   conn c=new conn();
   c.login = textBox1.Text;
   c.psw = textBox2.Text;
   c.pass = textBox2.Text;
   //и куда там надо
   string cc = c.str_conn();
}


авторconn.login = textBox1.Text;
conn.psw = textBox2.Text;
Должно было в топку тебя послать шо за бред?
Еще понимаешь вот это с будет жить только пока работает button2_Click
Да и сам твой класс полное г и никчемность, но если для того чтоб разбираться то ладно.
Кстати, а откуда взялись .login и .psw в приведенных примерах их не было.
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122681
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransaПилять.
ф топку
авторprivate void button2_Click(object sender, EventArgs e)
{
conn c=new conn();
conn.login = textBox1.Text;
conn.psw = textBox2.Text;
c.pass = textBox2.Text;
}
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
private void button2_Click(object sender, EventArgs e)
{
   conn c=new conn();
   c.login = textBox1.Text;
   c.psw = textBox2.Text;
   c.pass = textBox2.Text;
   //и куда там надо
   string cc = c.str_conn();
}



авторconn.login = textBox1.Text;
conn.psw = textBox2.Text;
Должно было в топку тебя послать шо за бред?
Еще понимаешь вот это с будет жить только пока работает button2_Click
Да и сам твой класс полное г и никчемность, но если для того чтоб разбираться то ладно.
Кстати, а откуда взялись .login и .psw в приведенных примерах их не было.

Просто хочется сделать формирование строки подключения централизованно, чтобы в каждом клике ее не формировать. (
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122696
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahПросто хочется сделать формирование строки подключения централизованно, чтобы в каждом клике ее не формировать. (Ну и добавьте своей форме метод:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private string BuildConnectionString(string login, string password)
{
    var connectionStringBuilder= new SqlConnectionStringBuilder();

    connectionStringBuilder.DataSource = "SQL";
    connectionStringBuilder.InitialCatalog = "project";
    connectionStringBuilder.UserID = login;
    connectionStringBuilder.Password = password;

    return connectionStringBuilder.ToString();
}

private void button2_Click(object sender, EventArgs e)
{
    string cc = BuildConnectionString(textBox1.Text, textBox2.Text);
}


Это у Вас что, форма ввода логина и пароля? Где и как нужно использовать полученную строку подключения?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122699
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAvahПросто хочется сделать формирование строки подключения централизованно, чтобы в каждом клике ее не формировать. (Ну и добавьте своей форме метод:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private string BuildConnectionString(string login, string password)
{
    var connectionStringBuilder= new SqlConnectionStringBuilder();

    connectionStringBuilder.DataSource = "SQL";
    connectionStringBuilder.InitialCatalog = "project";
    connectionStringBuilder.UserID = login;
    connectionStringBuilder.Password = password;

    return connectionStringBuilder.ToString();
}

private void button2_Click(object sender, EventArgs e)
{
    string cc = BuildConnectionString(textBox1.Text, textBox2.Text);
}



Это у Вас что, форма ввода логина и пароля? Где и как нужно использовать полученную строку подключения?

а при следующем обращении к базе откуда брать подключение?
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38122786
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah, нуууу... если так хочется хранить какие-то параметры приложения в памяти, то заведите статический клас к примеру:
Код: c#
1.
2.
3.
4.
public static class ApplicationRuntimeSettings
{
    public static string ConnectionString { get; set; }
}


и используйте его:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private string BuildConnectionString(string login, string password)
{
    var connectionStringBuilder= new SqlConnectionStringBuilder();

    connectionStringBuilder.DataSource = "SQL";
    connectionStringBuilder.InitialCatalog = "project";
    connectionStringBuilder.UserID = login;
    connectionStringBuilder.Password = password;

    return connectionStringBuilder.ToString();
}

private void button2_Click(object sender, EventArgs e)
{
    ApplicationRuntimeSettings.ConnectionString = BuildConnectionString(textBox1.Text, textBox2.Text);
}


Лично я бы из формы логина вернул строку подключения, создал бы один экземпляр SqlConnection и использовал его в рамках приложения.
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38123476
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

В итоге сделал так, все работает. Но гложет что-то не так (


Код: 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.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
Форма ввода пароля:


        private void button2_Click(object sender, EventArgs e)
        {
 
            conn c=new conn();
            try
            {

                using (RegistryKey regSettings = Registry.CurrentUser.CreateSubKey("tehproject"))
                {
                    regSettings.SetValue("Login", textBox1.Text);
                    regSettings.SetValue("psw", textBox2.Text);
                    c.SqlConn();
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
                Application.Exit();
            }


Классы, методы:


public class conn
    {

        public String login()
        {
            using (RegistryKey
                    regSettings = Registry.CurrentUser.CreateSubKey("tehproject"))
            {
                String l = regSettings.GetValue("Login").ToString();
                return l;
            }
        }

        public String psw()
        {
            using (RegistryKey
                    regSettings = Registry.CurrentUser.CreateSubKey("tehproject"))
            {
                String p = regSettings.GetValue("psw").ToString();
                return p;
            }
        }


        public String str_conn()
        {
            var connstr = new SqlConnectionStringBuilder();

            connstr.DataSource = "SQL";
            connstr.InitialCatalog = "project";
            connstr.UserID = login();
            connstr.Password = psw();

            return connstr.ToString();
        }

        public SqlConnection SqlConn()
        {
                SqlConnection connection = new SqlConnection(str_conn());
                connection.Open();
                return connection;
        }


     }



Вызов хранимых процедур:



    public class sql_exec
    {
        conn c1 = new conn();

        public int CreateCommand(String queryString, int id_par, String id_num, String id_name, DateTime date_to_sogl_gip, DateTime date_sogl_gip, DateTime date_confirm_doc, DateTime date_plan_doc_gip, DateTime date_el_send_doc, DateTime date_paper_send_doc)
        {
            using (c1.SqlConn())
            {
                SqlCommand command = new SqlCommand(queryString, c1.SqlConn());
                command.CommandType = CommandType.StoredProcedure;
...
Рейтинг: 0 / 0
Свойство внутри класса
    #38123714
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah, а теперь расскажите нам, что Ваш код делает и зачем именно так?
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Свойство внутри класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]