powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Параметер по Byref
10 сообщений из 10, страница 1 из 1
Параметер по Byref
    #39023561
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый господа.

Пожалуйста помогите понять почему на 5ом шаге поле имеет Nothing.



Class A


Private clsB as B

Private parameter1 as Object <- Шаг 4 - Тут он принимает какое то значение


Sub New (parameter1)

clsB = New B (parameter1) <- Шаг 1. Тут вот параметер еще пока Nothing, и передает в класс B Nothing

End sub


Sub actionA

parameter1 = Something <- Шаг 3 - Тут идет какое-то назначение

End Sub


End class


Class B



Private _parameter1 as Object


Sub New (Byref parameter1 as Object)

_parameter1 = parameter1 <- ШАГ 2 - Здесь он получил Nothing

End sub


Sub actionB

_parameter1.Load <- ШАГ 5 - Здесь он почему-то остается NOthing а хочется Something

End Sub


Class end
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023567
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023568
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в каком порядке всё это хозяйство вызывается? И код в тэге оформите, будьте добры. :)
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023571
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем G,
Потому что parameter1 класса A и parameter1 класса B - разные сущности. А в методе New класса B parameter1 не модифицируется, потому он так и останется Nothing вплоть до шага 5.
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023579
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, если неясно объяснил, то то какое значение в шаге 2 присваивается (Nothing), то в шаге 5 и остается (Nothing). Классы разные.
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023654
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AxeleronВ общем, если неясно объяснил, то то какое значение в шаге 2 присваивается (Nothing), то в шаге 5 и остается (Nothing). Классы разные.

Эх, понятно. Как я понимаю нужно делать Friend _parameter1 в класса B и из класса А ему присваивать значение...



PS. Оформление такое, потому что я этот код руками набивал прям тут ((
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023678
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GAxeleronВ общем, если неясно объяснил, то то какое значение в шаге 2 присваивается (Nothing), то в шаге 5 и остается (Nothing). Классы разные.

Эх, понятно. Как я понимаю нужно делать Friend _parameter1 в класса B и из класса А ему присваивать значение...



PS. Оформление такое, потому что я этот код руками набивал прям тут ((
нужно открыть книгу по ООП и почитать и перестать пропихивать парадигмы процедурного программирования в ООП
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023863
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GPS. Оформление такое, потому что я этот код руками набивал прям тут ((и что, кнопку src из-за этого ткнуть невозможно?
...
Рейтинг: 0 / 0
Параметер по Byref
    #39023870
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesАртем Gпропущено...


Эх, понятно. Как я понимаю нужно делать Friend _parameter1 в класса B и из класса А ему присваивать значение...



PS. Оформление такое, потому что я этот код руками набивал прям тут ((
нужно открыть книгу по ООП и почитать и перестать пропихивать парадигмы процедурного программирования в ООП


Спасибо за науку. Открывал и читал. Видно через строчку ((



AntonariyАртем GPS. Оформление такое, потому что я этот код руками набивал прям тут ((и что, кнопку src из-за этого ткнуть невозможно?

Мои извинения.
...
Рейтинг: 0 / 0
Параметер по Byref
    #39024043
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот накидал такой вариант.
Как не нарушить ООП в данном случае? дописать в класс А функцию котороя будет возвращать параметр1?


Код: vbnet
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.
Dim objA as New A

objA.CreateParameter


Dim prm as Object = ?? как правильно сделать? Написать функцию? или? чтоб не нарушить ООП...

Dim objB as New B (prm) 


Class A

	Private parameter1 as Object <- Шаг 2 - Тут он принимает какое то значение

	Public Sub CreateParameter

		parameter1 = Something <- Шаг 1 - Тут идет какое-то назначение

	End Sub

End class


Class B1

	Private _parameter1 as Object

	Sub New (Byref parameter1 as Object)

		_parameter1 = parameter1 <- ШАГ 3 - Здесь он получает параметр который в классе А

	End sub

Class end


Class B2

	Private _parameter1 as Object

	Sub New (Byref parameter1 as Object)

		_parameter1 = parameter1 <- ШАГ 3 - Здесь он получает параметр который в классе А

	End sub

Class end
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Параметер по Byref
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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