Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
#1

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

29.07.2013, 14:56. Просмотров 2729. Ответов 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) получить заполненные данные?
http://www.cyberforum.ru/csharp-beginners/thread2113460.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2013, 14:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как в классе получить данные из другого класса? (C#):

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

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

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

Как получить доступ к переменной из другого класса
namespace ViewModel { public class AFViewModel : ViewModelBase { private...

Как получить данные из другого потока?
Здравствуйте. Приложение выполняется в 2 потока. В процессе выполнения...

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

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

Добавлено через 52 секунды
вам что вообще нужно от klient в NewDoc?
Вообщем на форме есть больше 20 полей для заполнения, все их нужно заполнить а потом передать в newdoc для формирования pdf документа
0
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
29.07.2013, 16:51 #6
Цитата Сообщение от 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
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:00  [ТС] #7
Я правильно понимаю вот класс 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
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
29.07.2013, 17:09 #8
Цитата Сообщение от Fzer0 Посмотреть сообщение
w.Create(Klient k);
вам надо передать параметром созданный вами экземпляр Klient (Зачем вы пишите Klient k?)
просто
C#
1
w.Create(k);
1
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:13  [ТС] #9
Цитата Сообщение от Монфрид Посмотреть сообщение
вам надо передать параметром созданный вами экземпляр Klient (Зачем вы пишите Klient k?)
просто
C#
1
w.Create(k);
это я показал что понял что будет типа Klient
а вот в NewDoc как с ним тогда работать?
0
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
29.07.2013, 17:25 #10
ну у вас же логика какая то в Create есть, вот там будет доступен экземпляр Klient, который вы передали
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
29.07.2013, 17:30  [ТС] #11
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
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
29.07.2013, 17:41 #12
как бы не хочется вас обижать, но у вас настолько элементарные вопросы, что я даже не знаю, может вам лучше почитать книжку?
Что вы имеется ввиду под "как обращаться?". Так и обращаться, dt у вас это тот экземпляр, который вы передали, и св-ва у него заполнены так, как вы их заполняли с формы
0
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
30.07.2013, 09:39  [ТС] #13
Цитата Сообщение от Монфрид Посмотреть сообщение
как бы не хочется вас обижать, но у вас настолько элементарные вопросы, что я даже не знаю, может вам лучше почитать книжку?
Что вы имеется ввиду под "как обращаться?". Так и обращаться, dt у вас это тот экземпляр, который вы передали, и св-ва у него заполнены так, как вы их заполняли с формы
Спасибо за понимание, но проблема как раз в том что свойства почему то пустые, книжку я обязательно почитаю когда время будет, но больше конечно люблю примеры. Если не сложно можно примерчик, доходчивый для таких как я "в бронепоезде"
0
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
30.07.2013, 11:06 #14
то есть, вы делаете так:
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
Fzer0
11 / 11 / 2
Регистрация: 20.09.2012
Сообщений: 170
30.07.2013, 11:16  [ТС] #15
брейкпоинт и не нужен pdf я формирую с помощью PdfSharp и вылетает ошибка что значения пустые

dt скорее всего и есть null
0
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
30.07.2013, 11:52 #16
ну вы всё же поставьте точку останова и посмотрите
0
30.07.2013, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 11:52
Привет! Вот еще темы с решениями:

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном...

Входные данные метода - название какого-то другого класса
Можно ли передать в качестве входных данных метода название класса, объект...

Получить доступ из гл. функции к методу другого класса
Представляю свой &quot;кодик&quot; class Auto { public string Name; ...

Получить доступ к переменным списка другого класса
Если я конечно все правильно понял... Есть класс: class Pay { ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru