Между классами
От: M_Ocean  
Дата: 12.08.03 06:45
Оценка:
Имеем два класса

public class Source
{
   public string Text
      {
         get
         {
         ...
         }
         set
         {
         ...
         }
      }
}


и

public class Dest
{
   public Source objSource;

   private void ChangeSource()
   {
   ...
   }
}


Как сделать, чтобы при изменении Source.Text вызывался бы метод Dest.ChangeSource()? Предполагается, что Source "не знает" о том, где он находится (переменной какого класса является).
Re: Между классами
От: Ed.ward Россия  
Дата: 12.08.03 07:03
Оценка:
Здравствуйте, M_Ocean, Вы писали:

M_O>Имеем два класса



M_O>

public delegate void ChangeSourceHandler();

M_O>public class Source
M_O>{
M_O>   public string Text
M_O>      {
M_O>         get
M_O>         {
M_O>         ...
M_O>         }
M_O>         set
M_O>         {
            ...
             if( null != ChangeSource )
                ChangeSource();
M_O>         }
M_O>      }

    public event ChangeSourceHandler ChangeSource;
M_O>}
M_O>


M_O>и


M_O>
M_O>public class Dest
M_O>{
M_O>   public Source objSource;

    public Dest()
    {
        objSource = new Source();
        objSource.ChangeSource += new ChangeSourceHandler( ChangeSource );
    }

M_O>   private void ChangeSource()
M_O>   {
M_O>   ...
M_O>   }
M_O>}
M_O>


M_O>Как сделать, чтобы при изменении Source.Text вызывался бы метод Dest.ChangeSource()? Предполагается, что Source "не знает" о том, где он находится (переменной какого класса является).


Вот так

Ed.ward
... << RSDN@Home 1.0 beta 7a >>
Re[2]: Между классами
От: M_Ocean  
Дата: 12.08.03 07:24
Оценка:
Ed.ward, спасибо большое!

Ууууух! Работает. Как все просто оказывается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.