проблема вызова функций из класса.... С#
От: Den5000 Беларусь  
Дата: 12.01.07 12:50
Оценка:
Проблема в общем то тривиальная... но тем не менее...

С# vs2005


Есть два класса один, csGChart который предназначен для отображения вских графиков и проч....

есть также класс csGreed который занимается локальной задачей — отрисовать сетку и соответственно подписи к ней...

объект класса csGreed создается в классе csGChart(так как является по смыслу составной частью всего отображения графика)

НО — для того что бы подписать правильно шкалу нужна информация которая содержится в csGreed (например при сколировании графика занчения шкалы должны менятся... насколько график сдвинут знает csGChart)

Каким образом csGreed может получить эту информацию???

пробовал делегаты, т.е. в csGreed
объявлял делегат

public delegate float StartPosRequestHandler(object sender);

в нем же внутри функции drawGreed создавал экземпляр

private void drawGreed(Graphics gridDrawer)
{
StartPosRequestHandler myH = new StartPosRequestHandler(csGChart.myfunc);
...
...
}

соответственно в csGChart реализовывал функцию которая и возращает вожделеннный float

static public float myfunc(object sender)
{
return 0;
}

однако что б ее было видно из объекта класса csGreed в классе csGChart ее надо делать статичесой, соответственно в ней нельзя использовать переменные которые будут только в объет — в общем такй подход — не арботает.....

как правильно разрешить эту ситуацию ???
проблема вызова функций из класса.... С#
От: Аноним  
Дата: 13.01.07 17:08
Оценка:
Если я все правильно понял, то почему не сделать так:

class csGChart
{
....
public float Position;
public csGreed greed;
}

static void Main()
{
...
csGChart chart = new csGHart();
...
chart.greed.ChartPos = chart.Position;
...
}

Ну это так совсем по простетски. конечно если надо то реализуй через свойства и данные сделай скрытыми ну и так далее!


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: проблема вызова функций из класса.... С#
От: Den5000 Беларусь  
Дата: 23.02.07 11:59
Оценка:
Здравствуйте, eJack, Вы писали:

J>Если я все правильно понял, то почему не сделать так:


J>class csGChart

J>{
J>....
J>public float Position;
J>public csGreed greed;
J>}

J>static void Main()

J>{
J>...
J>csGChart chart = new csGHart();
J>...
J>chart.greed.ChartPos = chart.Position;
J>...
J>}

J>Ну это так совсем по простетски. конечно если надо то реализуй через свойства и данные сделай скрытыми ну и так далее!


J>
данное сообщение получено с www.gotdotnet.ru

J>ссылка на оригинальное сообщение



Спасибо, блин как говорится все гениальное просто....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.