| 

.NET C# Java Javascript Exception

0
Die Partial Klasse Person implementiert irgendwo in einer Basisklasse INotifyPropertyChanged.
Ich will das Ereigsnis in meiner erweiterten Klasse Person abfangen.

In VB geht das einfach:
Public Class Person
Private Sub OnPropChange(ByVal sender As Object, ByVal e As PropertyChangedEventArgs) Handles Me.PropertyChanged ...

In
C# sieht das dann so aus:
public partial class Person {
private void onPropChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {

Ich bin e
twas ratlos was die Verdrahtung des Event angeht; im Moment hab ich - weil ich den Source der Person habe - das dort im Konstruktor untergebracht:
public Person() {
this.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(onPropChanged);

Eigentlich möchte ich das (generierte) Codefile aber nicht antasten - kann den Konstruktor in "meinem" Codefile aber auch nicht implementieren - wie kann man das in C# implementieren?
02.04.2011
wurzelchen 264 4
1 Antwort
0
ich sehe da diese zwei Möglichkeiten:

Person person = new Person()
person.PropertyChanged += person_PropertyChanged;


oder

class EineAnderePerson : Person
{
protected override void OnPropertyChanged(PropertyChangedEventArgs e)
{
...
base.OnPropertyChange(e);
}
}
02.04.2011
pinchbeck 373 7
das wär für eine abgeleitete klasse? - ich möchte das für eine partiellen klasse
wurzelchen 02.04.2011
was hast du denn für eine seltsame Klasse dann? warum kannst du den Konstruktor nicht anfassen bzw implementieren? mit der "Person" stimmt was nicht.
pinchbeck 02.04.2011
können schon - wollen nicht; die person wird von einem tool generiert, deshalb will ich das auch nicht anfassen.
ich will die auch bloss erweitern, wie erwähnt ist das in vb easy, ich wollt nur wissen wie das in c# zu machen ist...
wurzelchen 02.04.2011
normalerweise generieren solche Tools nur einen Teil der patial-class und dann kann man sie mit einer zweiten Datei erweitern. wenn du aber den zweiten Teil nicht anfassen willst was hast dann davon, dass du eine patial-class hast?
pinchbeck 02.04.2011
... eben, ich formulier nochmal neu:
den generierten teil möcht ich nicht anfassen.
den OPC möcht ich in meiner CodeDatei implementieren
wie kann ich den OPC verdrahten ohne in den Konstruktor im generierten Teil zu schreiben?
wurzelchen 02.04.2011
1
mhmm, ohne Konstruktor, weiss ich nicht :| was ist das für ein Tool? vielleicht stellt es eine Schnitstelle zur Verfügung, die Benutzerdefinierte Initilisierung ermöglicht? möglicherweise musst du ein Interface implementieren oder sowas?
pinchbeck 02.04.2011
das hat geholfen den knoten zu lösen;
da gibt's eine überschreibbare methode...die einfach nicht OnBeforePropChange... hiess,
danke
wurzelchen 02.04.2011

Stelle deine .net-Frage jetzt!