CannibalSmith ([info]cannibalsmith) rakstīja [info]koderi kopienā,
@ 2009-03-12 16:56:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
.net un eventi
C# viss kompilējas. Vai patterns pareizi uzrakstīts?
using System.ComponentModel;

public class Zomg : INotifyPropertyChanged
{
	public event EventHandler Gloop;
	public event PropertyChangedEventHandler PropertyChanged;
	
	protected void OnGloop(EventArgs e)
	{
		if (Gloop != null) Gloop(this, e);
	}
	
	protected void OnPropertyChanged(PropertyChangedEventArgs e)
	{
		if (PropertyChanged != null) PropertyChanged(this, e);
	}
}

C++/CLI nez kamdēļ kliedz, ka kaut kādas add un remove funkcijas nav implementētas PropertyChangedEventHandler eventam. Vai patterns pareizi uzrakstīts?
using namespace System::ComponentModel;

publc ref class Zomg : public INotifyPropertyChanged
{
public:
	event EventHandler^ Gloop;
	virtual event PropertyChangedEventHandler^ PropertyChanged; // virtual keywordu vajadzēja!
	
protected:
	virtual void OnGloop(EventArgs^ e)
	{
		Gloop(this, e);
	}
	
	virtual void OnPropertyChanged(PropertyChangedEventArgs^ e)
	{
		PropertyChanged(this, e);
	}
};


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]cannibalsmith
2009-03-12 23:02 (saite)
INotifyPropertyChanged tu izmanto, lai Binding varētu sekot līdzi propertijas izmaiņām. Tas viss ir no jaunā .NET 3.0 Windows Presentation Foundation, kur tu GUI veido deklaratīvi kā weblapu un Binding ir viens no mehānismiem, kā tu savieno savas klases ar interfeisa elementiem.

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?