С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/64: Рейтинг темы: голосов - 64, средняя оценка - 4.72
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170

Как в классе получить данные из другого класса?

29.07.2013, 14:56. Показов 12184. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим есть такой класс
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System.Text;
using System.Windows.Forms;
namespace AlDoc
{
    class klient
   {
        public string Name { get; set; }
        public string Face { get; set; }
        public string Sity { get; set; }
        public string Adres { get; set; }
        public DateTime Date { get; set; }
   }
}
Заполняю в основной форме так
C#
1
2
3
4
5
6
7
8
klient k = new klient();
                k.Name = textBox1.Text;
                k.Sity = textBox2.Text;
                k.Face = textBox3.Text;
                k.Adres = textBox4.Text;
                k.Date=dateTimePicker1.Value;
                NewDoc w = new NewDoc();
                w.Create();
а как в другом классе (NewDoc) получить заполненные данные?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2013, 14:56
Ответы с готовыми решениями:

Экземпляр класса как входные данные метода другого класса
Можно ли в качестве входных данных метода передать экземпляр метода другого класса? Если да, то как?

Как получить private переменную класса, функцей членом другого класса
Игра змейка: Есть класс поле в котором содержится размеры поля: class field { private: int FIELD_START; int...

Можно ли как-то получить из одного класса исходный код другого класса?
Предположим есть два публичных класса. Один находится в одной части проекта, другой где-нибудь в другой части проекта. Мне для своих...

15
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 16:32
передайте его параметром в другой класс
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 16:39  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
передайте его параметром в другой класс
??? а тип какой?
C#
1
2
NewDoc w = new NewDoc();
                w.Create(k);
Добавлено через 2 минуты
Интересует вообще как правильно сделать?
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 16:45
тип должен быть klient (почему с маленькой буквы??)

Добавлено через 52 секунды
вам что вообще нужно от klient в NewDoc? какие св-ва его вы используйте
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 16:47  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
тип должен быть klient (почему с маленькой буквы??)

Добавлено через 52 секунды
вам что вообще нужно от klient в NewDoc?
Вообщем на форме есть больше 20 полей для заполнения, все их нужно заполнить а потом передать в newdoc для формирования pdf документа
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 16:51
Цитата Сообщение от Fzer0 Посмотреть сообщение
class klient
* *{
* * * * public string Name { get; set; }
* * * * public string Face { get; set; }
* * * * public string Sity { get; set; }
* * * * public string Adres { get; set; }
* * * * public DateTime Date { get; set; }
* *}
в этом классе вот эти св-ва, если они все вам не нужны в NewDoc, то можно передавать не целый экземпляр класса, а отдельное св-во
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:00  [ТС]
Я правильно понимаю вот класс Klient
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace AlDoc
{
    class Klient
   {
        private string Name ;
        private string Face ;
        private string Sity ;
        private string Adres;
        private DateTime Date ;
 
        public Klient (string _name, string _face, string _sity, string _adres, DateTime _date)
        {
            this.Name = _name;
            this.Face = _face;
                       this.Sity = _sity;
                       this.Adres = _adres;
                       this.Date = _date;
 
   }
}
В основной форме я присваиваю полям Name,Face и т.д
C#
1
2
3
4
Klient k = new Klient(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, dateTimePicker1.Value);
                NewDoc w = new NewDoc();
                //w.Create(); тут меняем передаем
                  w.Create([S]Klient [/S]k);
C#
1
2
public  void Create (Klient z)
        {....}
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 17:09
Цитата Сообщение от Fzer0 Посмотреть сообщение
w.Create(Klient k);
вам надо передать параметром созданный вами экземпляр Klient (Зачем вы пишите Klient k?)
просто
C#
1
w.Create(k);
1
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:13  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
вам надо передать параметром созданный вами экземпляр Klient (Зачем вы пишите Klient k?)
просто
C#
1
w.Create(k);
это я показал что понял что будет типа Klient
а вот в NewDoc как с ним тогда работать?
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 17:25
ну у вас же логика какая то в Create есть, вот там будет доступен экземпляр Klient, который вы передали
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:30  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public  void Create (Klient dt)
        {
            PdfDocument inputDocument = PdfReader.Open("шаблон.pdf", PdfDocumentOpenMode.Import);
            PdfPage notEditablePage = inputDocument.Pages[0];
            PdfDocument outputDocument = new PdfDocument();
            PdfPage editablePage = outputDocument.AddPage(notEditablePage);
            XGraphics gfx = XGraphics.FromPdfPage(editablePage);
            dt. <---------------------------------------------------------Как обращаться?
            dt.Name????
            DrawFields(gfx);
            outputDocument.Save("newPdf.pdf");
            Process.Start("newPdf.pdf");
        }
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.07.2013, 17:41
как бы не хочется вас обижать, но у вас настолько элементарные вопросы, что я даже не знаю, может вам лучше почитать книжку?
Что вы имеется ввиду под "как обращаться?". Так и обращаться, dt у вас это тот экземпляр, который вы передали, и св-ва у него заполнены так, как вы их заполняли с формы
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
30.07.2013, 09:39  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
как бы не хочется вас обижать, но у вас настолько элементарные вопросы, что я даже не знаю, может вам лучше почитать книжку?
Что вы имеется ввиду под "как обращаться?". Так и обращаться, dt у вас это тот экземпляр, который вы передали, и св-ва у него заполнены так, как вы их заполняли с формы
Спасибо за понимание, но проблема как раз в том что свойства почему то пустые, книжку я обязательно почитаю когда время будет, но больше конечно люблю примеры. Если не сложно можно примерчик, доходчивый для таких как я "в бронепоезде"
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
30.07.2013, 11:06
то есть, вы делаете так:
C#
1
2
3
4
5
6
7
8
klient k = new klient();
* * * * * * * * k.Name = textBox1.Text;
* * * * * * * * k.Sity = textBox2.Text;
* * * * * * * * k.Face = textBox3.Text;
* * * * * * * * k.Adres = textBox4.Text;
* * * * * * * * k.Date=dateTimePicker1.Value;
* * * * * * * * NewDoc w = new NewDoc();
* * * * * * * * w.Create(k);
и ставите брейкпоинт в Create, и там св-ва пустые у dt?
а dt вообще там не null?
0
13 / 13 / 2
Регистрация: 20.09.2012
Сообщений: 170
30.07.2013, 11:16  [ТС]
брейкпоинт и не нужен pdf я формирую с помощью PdfSharp и вылетает ошибка что значения пустые

dt скорее всего и есть null
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
30.07.2013, 11:52
ну вы всё же поставьте точку останова и посмотрите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2013, 11:52
Помогаю со студенческими работами здесь

Изменить пола одного класса методами другого класса так, чтобы изменения сохранились в первом классе
Есть простая форма с текстбоксом и тремя кнопками. Нужно следующее: Нажимаем на кнопку 1, записываем значение из текстбокса в переменную....

Как получить аргумент родительского класса в классе наследнике
Здравствуйте уважаемые программисты, недавно начал изучать язык С++. Подскажите пожалуйста, Будьте так добры, Как получить аргумент который...

Как из тестбокса в xaml получить данные в классе
Подскажите как получить данные текст бокса в классе public MainWindow() { InitializeComponent(); ...

Класс: Как получить значение нестатичной переменной из класса One в классе Two?
Java.Есть два класса One и Two. В классе One есть не статичная переменная t. Как получить значение t в классе Two? За готовый код буду...

Как получить переменную из другого класса?
У меня в неком классе возникает событие и я хочу при возникновении этого события присвоить значение строковой переменной, а потом по...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru