Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
.NET 4.x

Не получается передача в метод свойств класса

17.11.2014, 22:05. Показов 1007. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть метод, в который я передаю объекты созданные в главном методе. Через метод в который я передаю объекты вызывается другой метод в который я передаю свойства этих объектов в виде матриц. Компилятор ругается на эти матрицы.

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
//Главный метод:
static void Main(string[] args)
 
{ Program a = new Program();
a.matrix = new double[3, 3];
for (int i = 0; i < 3; i++)
{ for (int j = 0; j < 3; j++)
a.matrix[i, j] = i + j; }
 
Program b = new Program();
b.matrix = new double[3, 3];
for (int i = 0; i < 3; i++)
{ for (int j = 0; j < 3; j++)
b.matrix[i, j] = 3 - i + 3 - j;}
 
ToString( a, b);
....
//Метод принимающий объекты из главного метода:
 
string ToString(object a,object b)
 
{ 
 
Console.WriteLine("0-сложение, 1- разность, 2-умножение, 3-сравнение: \n");
 
int regim = Convert.ToInt32(Console.ReadLine());
 
switch(regim)
 
{ case 0: Addition(a.matrix, b.matrix);
 
case 1: Subtraction(a.matrix, b.matrix);
 
case 2: Multiplication(a.matrix, b.matrix);
 
....
 
//прототип метода принимающего свойства главного метода:
 
double[,] Addition(double[,] a,double[,] b)
Компилятор ругается на параметры в методах Addition, Subtraction и остальные ,в которые передаю матрицы.
Возникающая ошибка: "object" не содержит определения для "matrix" и не был найден метод расширения "matrix", принимающий тип "object" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) D:\Мои программы\C#\lab_03 OOП\Program.cs9136lab_03 OOП
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2014, 22:05
Ответы с готовыми решениями:

Передача значений свойств объекта в метод
Всем привет, коллеги. Подскажите пожалуйста, как правильно передать набор значений параметров объекта класса из формы в контроллер? Нашел...

Передача значения переменной из метода одного класса в метод другого класса
Добрый вечер! Есть основная форма Form1 в которой есть метод private void button1_Click(object sender, EventArgs e) обрабатывающий...

Передача названия класса в метод другого класса в качестве входных данных
У меня есть класс &quot;class1&quot;, от которого наследуется несколько однотипных классов classX, classY, ..., classX1, classY1, ..., classXn,...

12
2 / 2 / 4
Регистрация: 17.11.2014
Сообщений: 29
17.11.2014, 22:13
Используйте либо строгую типизацию string ToString(Program a,Program b),
либо приведение case 0: Addition((Program)a.matrix, (Program)b.matrix);
Первое лучше, т.к. второе вызывает ошибку времени выполнения.
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
17.11.2014, 23:14
Ну и названия, конечно... мдем-с.

Ты, короче, всё приводишь к базовому типу (т.е. к object) А пытаешься работать с ним, как с Program. Формальные параметры делай не object, а Program.
0
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
18.11.2014, 12:57  [ТС]
Хорошо. А какие тогда передавать фактически параметры при вызове метода?
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
18.11.2014, 13:23
Life Crusher, метод с такой сигнатурой?
C#
1
double[,] Addition(double[,] a,double[,] b);

Ну тогда исходя из него в такие методы ты смело можешь сувать
C#
1
Addition(a.matrix, b.matrix);
0
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
18.11.2014, 13:39  [ТС]
Нет. С этим все в порядке. Я имел ввиду вызов ToString в главной программе. Какие должны быть фактические аргументы, чтобы соответствовать типу? ToString(a,b); не катит, как по другому передать объекты-не знаю.
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
18.11.2014, 13:43
Life Crusher,
C#
1
string ToString(object a,object b){}
это?

Перепиши это вот так:

C#
1
string ToString(Program a,Program b){}
0
2 / 2 / 4
Регистрация: 17.11.2014
Сообщений: 29
18.11.2014, 13:49
Я же выше писал то, что только что ответили: Program вместо object
0
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
18.11.2014, 14:16  [ТС]
Объявлено все так, как ты сказал. Ошибка при самом вызове этого метода в методе Main. Какие должны быть фактические параметры при вызове метода ToString(), ToString(a,b) не катит? Компиль ругается и требует ссылки на объекты.
Миниатюры
Не получается передача в метод свойств класса  
0
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
18.11.2014, 14:25  [ТС]
Вопрос не в том, объявление метода я поменял. Ошибка при его вызове.
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
18.11.2014, 14:31
Life Crusher, вот так напиши
C#
1
public static string ToString(Program a,Program b){}
Добавлено через 1 минуту
Life Crusher, просто говнокодик у тебя, без обид.. Но ты создаёшь экземпляры класса, который содержит точку входа (Main()) ... Это, по меньшей мере, странно. Нужно было отдельный класс создать и оттуда дёргать методы.
0
3 / 3 / 1
Регистрация: 27.12.2013
Сообщений: 77
18.11.2014, 20:31  [ТС]
Я только учусь. А в чем проблема с созданием объектов из класса с Main?
0
2 / 2 / 4
Регистрация: 17.11.2014
Сообщений: 29
18.11.2014, 22:23
По большому счёту, ничего, т.к. метод статический и к экземпляру не относится. Просто это нарушает логику объектно-ориентированного программирования: класс Program подразумевает под собой саму программу и нужен для того, чтобы в нём содержался метод Main, в котором выполняется программа.
Можете поправить меня, если я неправ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2014, 22:23
Помогаю со студенческими работами здесь

Передача объекта класса в метод другого класса
Доброго времени суток! Есть следующие классы: public class TestClass : IDisposable { public void Dispose() ...

Не получается вызвать метод класса
Помогите найти ошибку в коде не могу вызвать тестовую (отладочную процедуру) вот скрин

Не получается вызвать метод из другого класса
У меня есть 2 формы и 2 соответствующих класса TpsViewFLEX и TpsViewForm2. В классе TpsViewForm2 надо вызвать метод start(), находящийся в...

Передача свойства класса в метод
Добрый день. Проблема такова: Имею класс с методами и свойствами, нужно методу передать свойство(а не его значение). class Domino{ ...

Передача объекта в метод класса
здравствуйте. в процессе написания программы возник такой вопрос. можно ли при вызове метода некоторого класса для объекта А, передать в ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru