Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76

Передать значение в другой метод

20.05.2013, 10:30. Показов 3322. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток. Cуть проблемы проблемы в том чтоб значение поля _fild.Text приравнять к _ipadd, а потом использовать её в "regKey.SetValue("ProxyServer", ?? + " "); // где ?? - _ipadd". Но возникла проблема "Не удается привести группу методов "Field" к неделегируемому типу "string". Вызов метода использовался намеренно?". Как быть?
Model

C#
1
2
3
4
5
6
7
8
9
10
public class Model
    {
        private string _ipadd;
 
        public string IpAdd
        {
            get { return _ipadd; }
            set { _ipadd = value; }
        }
    }

Presenter

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private Model _model = new Model();
        private IView _view;
 
        public Presenter(IView view)
        {
            _view = view;
        }
 
        private void InField()
        {
            _model.IpAdd = _view.InputDegree;
            
 
            RegistryKey regKey = Registry.CurrentUser;
            regKey = regKey.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings");
            regKey.SetValue("ProxyEnable", 1);
 
            regKey.SetValue("ProxyServer", ??+ " ");
        }
    }
}

IView

C#
1
2
3
4
public interface IView
    {
        string InputDegree { get; }
    }

Form1

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
... 
#region IView
 
        public string InputDegree
        {
            get { return Field; }
        }
 
        #endregion
 
        private void Field(object sender, EventArgs e)
        {
            string a;
            a = _field.Text;
        }
...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2013, 10:30
Ответы с готовыми решениями:

Передать тип в другой метод
Пытаюсь построить график. Как из Form2.cs вернуть тип графика в Form1.cs и выполнить определенный метод в Form1.cs? Подсказали такое...

В структуре нужно из одного метода взять значение массива и перетащить в другой (другой метод)
struct matrix { public int sz; public void size() { Console.Write("Задайте размер...

Как передать в другой метод свойство текущего
как сделать так, чтоб при нажатии кнопки private void button3_Click(object sender, EventArgs e) { ...

10
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 10:39
Kashi, если вы делаете достаточно серьезно, то есть вариант заменить string на IpAdress.

Добавьте в Presenter поле IpAdd и делегируйте его модели:
C#
1
2
3
4
5
6
7
8
9
10
11
12
        private Model _model = new Model();
        private IView _view;
 
        public Presenter(IView view)
        {
            _view = view;
        }
 
        public string IpAdd 
        {
            get { return _model.IpAdd; }
        }
Добавлено через 1 минуту
Тогда кстати и в InField не придется доставать из представления значения, которые нужно доставать из модели, а пользоваться собственным свойством IpAdd и писать
C#
1
regKey.SetValue("ProxyServer", IpAdd + " ");
1
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
20.05.2013, 21:17  [ТС]
Благодарю, сейчас попробую.

Добавлено через 58 минут
а еще варианты будут?

Добавлено через 9 часов 38 минут
Я попробовал так сделать, но увы ничего не происходит...

Form1

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 #region IView
 
        public string textbox
        {
            get
            {
                return _field.Text;
            }
 
            set
            {
                _field.Text = value;
            }
        }
 
        #endregion

Presenter

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
IView _view;
        Model _model;
 
        public Presenter(IView view, Model model)
        {
            _model = model;
            _view = view;
        }
 
        public void Bind()
        {
            _model.IpAdd = _view.textbox;
 
            RegistryKey regKey = Registry.CurrentUser;
            regKey = regKey.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings");
            regKey.SetValue("ProxyEnable", 1);
 
            
            regKey.SetValue("ProxyServer", _model.IpAdd + " ");
        }


IView

C#
1
2
3
4
public interface IView
    {
        string textbox { get; set; }
    }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 21:20
Kashi, скажите, что в итоге вы хотите сделать? Чтобы по клику на кнопочку из модели доставалось значение айпи-адреса и совалось в текстбокс?
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
20.05.2013, 21:27  [ТС]
что б при вводе в textbox ip изменялся в "настройка сети" => "прокси-сервер". Кнопка обновляет реестр(с этим проблем нет). Если не применять такой шаблон, программка уже готова, но хочется разобраться с шаблоном на этом примере.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 21:58
Kashi, не переходите от абстракций к конкретике и обратно. На одном уровне решайте.
что б при вводе в textbox ip изменялся в "настройка сети" => "прокси-сервер"
то есть я ввел в текстбокс "АААФАШОРЫА" и ip изменился на прокси-сервер?
Кнопка обновляет реестр(с этим проблем нет).
какая еще кнопка? в предыдущем предложении ничего ни пр окакую кнопку нет.

В общем, вы информацию как-то кусками даете...
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
20.05.2013, 22:12  [ТС]
Даю полную картинку происходящего.
Есть программа. Суть её в том что при вводе в текстбокс ip прокси и порта (xxx:xxx:xxx:xxx:xxxx(где xxxx- это порт)) в системе изменялся прокси сервер. Привожу исходники:
Form1

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
public partial class Form1 : Form
    {
        [DllImport("wininet.dll")]
        public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
        public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
        public const int INTERNET_OPTION_REFRESH = 37;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        #region IView
 
        public string textbox
        {
            get
            {
                return _field.Text;
            }
 
            set
            {
                _field.Text = value;
            }
        }
 
        #endregion
 
        private void _field_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void _apply_Click(object sender, EventArgs e)
        {
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
 
            ProcessStartInfo psi = new ProcessStartInfo(Environment.SystemDirectory + @"\netsh.exe", "winhttp import proxy source=ie");
            Process.Start(psi);
        }
 
        private void _exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }


IView

C#
1
2
3
4
public interface IView
    {
        string textbox { get; set; }
    }


я думаю, я напортачил с презентером (в строке "regKey.SetValue("ProxyServer", ?? + " ");" ?? - должна быть переменная вводимая)
Presenter

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
public class Presenter
    {
        [DllImport("wininet.dll")]
        public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
        public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
        public const int INTERNET_OPTION_REFRESH = 37;
 
 
        IView _view;
 
        public Presenter(IView view)
        {
            _view = view;
        }
 
        public void Bind()
        {
            Model model = new Model();
            
 
            RegistryKey regKey = Registry.CurrentUser;
            regKey = regKey.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings");
            regKey.SetValue("ProxyEnable", 1);
 
 
            regKey.SetValue("ProxyServer", ?? + " ");
        }
    }


Model

C#
1
2
3
4
5
6
7
8
9
10
public class Model
    {
        private string _ipadd;
 
        public string IpAdd
        {
            get { return  _ipadd;}
            set { _ipadd = value; }
        }
    }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 22:18
Kashi, ну, то есть пользователь жамкает клавишу, вид отдает презентеру айпиадрес, презентер пихает айпиадрес в модель, а дальше что-то с ней делает. Так вроде?
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
20.05.2013, 22:32  [ТС]
при вводе в текстбокс переменной уже задаётся значение ,а баттон (_apply) создан для того чтоб обновлять реестр.могу скинуть работающий проэкт, если интересно.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 22:41
Kashi, если вы не можете без скидывания проекта объяснить такую простую вещь, значит что-то в логике хромает.
0
2 / 2 / 0
Регистрация: 26.01.2013
Сообщений: 76
20.05.2013, 22:54  [ТС]
Благодарю, буду разбираться дальше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2013, 22:54
Помогаю со студенческими работами здесь

Передать значение в метод
Не могу передать в метод MultRange два значения: idMin и idMax из метода MinMaxId. Ведь return я так понимаю может только одно значение...

Передать значение из одного класса в другой
помогите определить значение Есть код using System; using System.Collections.Generic; using System.Linq; using...

Передать значение из одного класса в другой
есть 2 класса public partial class MainPage : UserControl { void runer() { auth authWindow...

Передать значение переменной другой программе
Здравствуйте, мне нужно передать значение переменной в другую программу. Знаю что нужно это сделать вроде как так: class Program ...

Передать одно значение из формы в метод
У меня есть представление: <form asp-action="Buy" asp-controller="Home" asp-anti-forgery="true"> <table class="table">...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru