2010-02-15 2 views
0

У меня есть строка поля в struct, и я хочу научиться в реальном времени, изменив это поле.слушатель C# как java

struct example { 
public string ex; 
} 

examp = new example();<BR> 
examp.ex = "test"; 

////// then program work and eamp.ex = "bing"; 

мне нужен метод

on_ex_changed() 
{ 
    if examp.ex changed then ..... 
} 

онлайн и простой плз

+0

Вы можете посмотреть, как работают события в .NET: http://msdn.microsoft.com/en-us/library/awbftdfh.aspx – jmservera

ответ

4

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

public class MyObj 
{ 
    private RectangleF mRectangle; 

    public event EventHandler RectangleChanged; 

    public RectangleF Rectangle 
    { 
     get 
     { 
      return mRectangle; 
     } 

     set 
     { 
      mRectangle = value; 
      OnRectangleChanged(); 
     } 
    } 

    protected virtual void OnRectangleChanged() 
    { 
     if (RectangleChanged != null) 
     { 
      RectangleChanged(this, EventArgs.Empty); 
     } 
    } 
} 
+0

, но я знаю, когда dond RectangleChanged .. – basvas

+0

basvas: он изменяется, когда вызывается свойство setter, поэтому вы знаете. –

+0

где запись, чем Rectangle, изменилась? protected virtual void OnRectangleChanged() { if (RectangleChanged! = Null) { RectangleChanged (this, EventArgs.Empty); Console.WriteLine ("ee"); // dont work } } – basvas

Смежные вопросы