powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов метода с другого класса
15 сообщений из 15, страница 1 из 1
Вызов метода с другого класса
    #38707826
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю правильно ли объясню... Но попробую
К проекту подключена библиотека. В ней есть класс в котором еще класс в котором нужный метод GetData
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public partial class DataManager: Component, ISupportInitialize
    {
          public class ClientBankImportEventArgs : ManagerElementsEventArgs
          {
           public ClientBankImportEventArgs(ManagerElementsDesignation _element, string _fileName, string _sourceFileName)
            : base(_element)
              {
                  fileName = _fileName;
                  sourceFieldName = _sourceFileName;
              }
               public DataTable GetData(DataColumnCollection columns)
               {
                    Какие-то манипуляции
               }
          }
}


Если сделать экземпляр класса и вызвать метод, то необходимо передать параметры в класс
Код: c#
1.
2.
NVK.ClientBankImportEventArgs import = new NVK.ClientBankImportEventArgs(NVK.ManagerElementsDesignation.ClientBankImport, "", "");
            import.GetData(dbContext[DataContext.tableWORKTABLE].Columns);

,
Но параметры там уже есть. При инициализации ClientBankImportEventArgs туда пришли параметры.
Нужно вызвать метод GetData в моей программе.
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38707904
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991,

в чём проблема?
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708011
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно вызвать событие GetData в моей программе не создавая экземпляр класса ClientBankImportEventArgs
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708013
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991 Но параметры там уже есть. При инициализации ClientBankImportEventArgs туда пришли параметры.

Нет, их там не было. Пока вы их не передали после оператора new.
:-)
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708020
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991Нужно вызвать событие GetData в моей программе не создавая экземпляр класса ClientBankImportEventArgs

Это можно если сделать метод статическим.
Но тогда вам надо будет передавать все параметры ему, или в аргументах, или статическими переменными.

А это уже кривая архитектура.
...
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708064
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129, были. я написал "Если сделать экземпляр класса и вызвать метод, то необходимо передать параметры в класс"
Если посмотреть выполнение программы, то с помощью делегата в библиотеке с классом ClientBankImportEventArgs в него передаются параметры. Но на этом всё и заканчивается. Метод сам по себе не выполняется
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708288
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991то с помощью делегата
Где в приведенном вами коде делегат? Что вы так называете?
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708292
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129, я так сказать укоротил код. Делегат вне класса - он вызывает его(класс) при событии на моей форме.
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708376
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991D129, я так сказать укоротил код. Делегат вне класса - он вызывает его(класс) при событии на моей форме.
Ок, теперь так,
Класс "вызвать" нельзя, только метод, значит слеюдующий вопрос - инстанс этого класса уже где-то раньше, до делегата, создан?
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708396
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129, мне именно метод и нужно вызвать. Он в классе. При событии на моей форме с помощью делегата инициализируется конструктор класса ClientBankImportEventArgs. В этот класс приходят параметры
Код: c#
1.
2.
public ClientBankImportEventArgs(ManagerElementsDesignation _element, string _fileName, string _sourceFileName)
            : base(_element)


И на этом всё.
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708410
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991И на этом всё.

Замечательно. Тогда ваш код правильный, и можно только убрать обьявление локальной переменной (מ,
написав

Код: c#
1.
DataTable importedData = new NVK.ClientBankImportEventArgs(NVK.ManagerElementsDesignation.ClientBankImport, "", "").GetData(null);



Но обьект все равно будет создан.
Вызвать динамический метод, не создавая обьекта, нельзя.
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708413
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* (מ,

Хотел написать переменной (типа NVK.ClientBankImportEventArgs).
:-)
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708507
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis1991D129, мне именно метод и нужно вызвать. Он в классе. При событии на моей форме с помощью делегата инициализируется конструктор класса ClientBankImportEventArgs. В этот класс приходят параметры
Код: c#
1.
2.
public ClientBankImportEventArgs(ManagerElementsDesignation _element, string _fileName, string _sourceFileName)
            : base(_element)


И на этом всё.
Такой делегат?

Код: c#
1.
2.
3.
4.
public delegate void EventHandler<TEventArgs>(
	Object sender,
	TEventArgs e
)


->
Код: c#
1.
e.GetData()
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38708701
Denis1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refreg, вот такой
Код: c#
1.
 public delegate void ManagerClientBankImportEventHandler(ClientBankImportEventArgs args);
...
Рейтинг: 0 / 0
Вызов метода с другого класса
    #38709055
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregDenis1991D129, мне именно метод и нужно вызвать. Он в классе. При событии на моей форме с помощью делегата инициализируется конструктор класса ClientBankImportEventArgs. В этот класс приходят параметры
Код: c#
1.
2.
public ClientBankImportEventArgs(ManagerElementsDesignation _element, string _fileName, string _sourceFileName)
            : base(_element)


И на этом всё.
Такой делегат?

Код: c#
1.
2.
3.
4.
public delegate void EventHandler<TEventArgs>(
	Object sender,
	TEventArgs e
)


->
Код: c#
1.
e.GetData()


+1

Код: c#
1.
args.GetData()



:-)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов метода с другого класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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