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

Пожалуйста помогите понять почему на 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
05.08.2015, 14:50
    #39023567
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
...
Рейтинг: 0 / 0
05.08.2015, 14:50
    #39023568
MrVoid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
А в каком порядке всё это хозяйство вызывается? И код в тэге оформите, будьте добры. :)
...
Рейтинг: 0 / 0
05.08.2015, 14:56
    #39023571
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
Артем G,
Потому что parameter1 класса A и parameter1 класса B - разные сущности. А в методе New класса B parameter1 не модифицируется, потому он так и останется Nothing вплоть до шага 5.
...
Рейтинг: 0 / 0
05.08.2015, 15:01
    #39023579
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
В общем, если неясно объяснил, то то какое значение в шаге 2 присваивается (Nothing), то в шаге 5 и остается (Nothing). Классы разные.
...
Рейтинг: 0 / 0
05.08.2015, 15:58
    #39023654
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
AxeleronВ общем, если неясно объяснил, то то какое значение в шаге 2 присваивается (Nothing), то в шаге 5 и остается (Nothing). Классы разные.

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



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

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



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


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



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


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



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

Мои извинения.
...
Рейтинг: 0 / 0
06.08.2015, 09:42
    #39024043
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметер по Byref
Вот накидал такой вариант.
Как не нарушить ООП в данном случае? дописать в класс А функцию котороя будет возвращать параметр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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Параметер по Byref / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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