24 / 24 / 0
Регистрация: 24.01.2018
Сообщений: 54
|
|||||||||||
1 | |||||||||||
Вызов метода из другого класса15.02.2018, 13:02. Показов 8207. Ответов 9
Метки нет (Все метки)
Всем привет! Не могу полностью доделать задачу. Вот условие: вы вдруг поняли, что не очень-то удобно писать имя класса Geometry при выполнении любой операции с векторами и сегментами. Однако, отказаться от этого класса вы не можете, потому что за те несколько минут, пока вы сдавали предыдущую задачу, вашу библиотеку скачали и начали использовать в своих проектах тысячи человек.
Поэтому вы решили сохранить этот класс, но добавить методы Vector.GetLength(), Segment.GetLength(), Vector.Add(Vector), Vector.Belongs(Segment) и Segment.Contains(Vector) не вместо, а вместе с соответствующими методами класса Geometry. Сделайте это! Каждый из этих методов должен вызывать уже существующий метод класса Geometry, чтобы не дублировать код. Вся функциональность предыдущего этапа должна остаться! Вся проблема в аргументах методов. Как избавиться от неё?
Вот ошибка: Exception on: new Vector().GetLength().AlmostEqual(0) Method `GetLength` with apropriate parameters is not found in type `Vector` Добавлено через 17 минут Немного исправил код, теперь нужна помощь с вызовом самой функции: using System;
1
|
15.02.2018, 13:02 | |
Ответы с готовыми решениями:
9
Вызов методов классов друг у друга (вызов метода из другого класса) Делегаты или вызов метода класса из другого класса Вызов метода из другого класса Вызов метода другого класса |
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
||||||
15.02.2018, 13:40 | 2 | |||||
когда вектор нужно передать в классе вектора, лучше делать так, а не Х передавать
а вообще, что-то мне подсказывает, что Вам нужно наследование, если нет, тогда внутри метода у вектора и сегмента, нужно создавать класс геометрии
1
|
24 / 24 / 0
Регистрация: 24.01.2018
Сообщений: 54
|
|
15.02.2018, 13:42 [ТС] | 3 |
А в остальных функциях как?
Добавлено через 35 секунд Тема наследования идёт следующей, а значит, что без него надо.
1
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
||||||
15.02.2018, 13:46 | 4 | |||||
Vector.GetLength() - описал
Segment.GetLength()- точно также без каких либо изменений Vector.Add(Vector)-
Segment.Contains(Vector) - такого метода в геометрии нет
1
|
24 / 24 / 0
Регистрация: 24.01.2018
Сообщений: 54
|
|
15.02.2018, 13:49 [ТС] | 5 |
Сейчас доделаю и скину. 5 минут ожидания, пожалуйста)
1
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|||||||||||
15.02.2018, 13:50 | 6 | ||||||||||
Сообщение было отмечено denkipo как решение
Решение
на основе Вашего кода:
Vector.Belongs(Segment)
2
|
24 / 24 / 0
Регистрация: 24.01.2018
Сообщений: 54
|
||||||
15.02.2018, 13:53 [ТС] | 7 | |||||
Вот что получилось, так?
Выдаёт ошибку Exception on: new Vector().GetLength().AlmostEqual(0) Object reference not set to an instance of an object.
1
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
15.02.2018, 13:59 | 8 |
вы каждую ошибку будете писать сюда? или хоть чуть чуть включите голову и воспользуетесь отладчиком чтобы посмотреть где именно у Вас не создалось, и что не создалось, ошибка указывает что вы обращаетесь к null и пытаетесь там что-то забрать.
1
|
36 / 34 / 13
Регистрация: 03.06.2010
Сообщений: 215
|
||||||
17.06.2018, 17:05 | 9 | |||||
denkipo, не нужно было использовать void
0
|
2 / 2 / 0
Регистрация: 13.05.2016
Сообщений: 5
|
||||||
28.06.2019, 16:56 | 10 | |||||
0
|
28.06.2019, 16:56 | |
28.06.2019, 16:56 | |
Помогаю со студенческими работами здесь
10
Вызов метода кнопки из другого класса Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода Вызов переменной из другого метода Экземпляр класса как входные данные метода другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |