Entwickler-Ecke

WPF / Silverlight - Klasse -> INotifyPropertyChanged -geht das kürzer mit FW 3.5


Christoph1972 - Mo 01.11.10 20:46
Titel: Klasse -> INotifyPropertyChanged -geht das kürzer mit FW 3.5
Hallo Leute,

kann man die unten aufgeführte Klasse mit dem FW 3.5 kürzer halten? Sie soll gebunden mit WPF verwendet werden. Bei Listen gibts ja was neues, ObsoletCollectionDingensKirchen oder so ObservableCollection. Gibt es bei Klassen auch was neues?? Ich finde es immer mühsam so eine Klasse zu erstellen........


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
public class SampleData : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    public SampleData(string substance, string result)
    {
        Substance = substance; Result = result;
    }   
   
    private string _Substance = "";
    public string Substance
    {
        get { return _Substance; }
        set
        {
            _Substance = value;
            FirePropertyChanged("Substance");
        }
    }
    private string _Result = "";
    public string Result
    {
        get { return _Result; }
        set
        {
            _Result = value;
            FirePropertyChanged("Result");
        }
    }
    
    private void FirePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(thisnew PropertyChangedEventArgs(propertyName));
    }
}


Kha - Mo 01.11.10 22:46

user profile iconChristoph1972 hat folgendes geschrieben Zum zitierten Posting springen:
Bei Listen gibts ja was neues, ObsoletCollectionDingensKirchen oder so ObservableCollection.
:gruebel: Die gab's auch schon in 3.0. Solange C# keine Metaprogramming-Ansätze hat (und du sie auch nicht mit PostSharp nachrüstest), kommst du um den Boiler-Plate nicht herum. Also Deklaration des Events in die Basisklasse auslagern und für Properties die Code Snippets von Dr. WPF benutzen :) .


Christoph1972 - Mo 01.11.10 23:28

Ah ok, schade. Ich habe bisher nur mit 2.0 gearbeitet, jetzt geht es mit VS2010 & 3.5 weiter, ich wurde modernisiert:-) Dr.WPF werde ich mir mal anschauen!

Vielen Dank für die Info!


Scr.at - Do 04.11.10 12:49

user profile iconChristoph1972 hat folgendes geschrieben Zum zitierten Posting springen:
...kann man die unten aufgeführte Klasse mit dem FW 3.5 kürzer halten? Sie soll gebunden mit WPF verwendet werden. Bei Listen gibts ja was neues, ObsoletCollectionDingensKirchen oder so ObservableCollection. Gibt es bei Klassen auch was neues?? Ich finde es immer mühsam so eine Klasse zu erstellen...


Gucke dir mal den Ansatz an: http://www.deanchalk.me.uk/post/WPF-e28093-Easy-INotifyPropertyChanged-Via-DynamicObject-Proxy.aspx

Kannst ja deine Erfahrung bezüglich Geschwindigkeitsnachteilen posten wenn du magst. Ich habe mich bisher nicht rangetraut und baue das jeweils selbst in den Properties ein ;)

Viele Grüße

Scr.at