Laden...

Reflection.Emit.TypeBuilder DependencyProperty einbinden

Erstellt von Robin0 vor 10 Jahren Letzter Beitrag vor 9 Jahren 895 Views
R
Robin0 Themenstarter:in
212 Beiträge seit 2012
vor 10 Jahren
Reflection.Emit.TypeBuilder DependencyProperty einbinden

Hallo,

Ich habe vor einer Dynamisch erstellten Klasse die von DependencyObject ableitet folgende struktur mitzugeben:


        public int MyProperty
        {
            get { return (int)GetValue(MyPropertyProperty); }
            set { SetValue(MyPropertyProperty, value); }
        }

        public static readonly System.Windows.DependencyProperty MyPropertyProperty =
            System.Windows.DependencyProperty.Register("MyProperty", typeof(int), typeof(DynamicTypeBuilder), new System.Windows.PropertyMetadata(default(int), OnMyPropertyChanged));

        private static void OnMyPropertyChanged(System.Windows.DependencyObject o, System.Windows.DependencyPropertyChangedEventArgs e)
        {
            ((DynamicTypeBuilder)o).OnMyPropertyChanged((int)e.OldValue, (int)e.NewValue);
        }

        private void OnMyPropertyChanged(int oldValue, int newValue)
        {
        }

Ich finde leiter nix zu dem thema was mir weiterhelfen könnte villeicht wisst ihr da ja mehr.

Ich hab folgende probleme:

(int)GetValue(MyPropertyProperty);

Ich weiß absolut nicht wie ich den wert der methode zurückgebe oder Die methode afrufe.

MyPropertyProperty =System.Windows.DependencyProperty.Register("MyProperty", typeof(int), typeof(DynamicTypeBuilder), new System.Windows.PropertyMetadata(default(int), OnMyPropertyChanged));

Müsste in ein statischen Construktor auch null ahnung wie ich da rangehen soll -.-.

((DynamicTypeBuilder)o).OnMyPropertyChanged((int)e.OldValue, (int)e.NewValue);

Nunja...

Villeicht kennt ja jemand ein gutes turtorial oder beispiel dazu.

Würde mich sehr freuen wenn jemand weiter weiß.

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo Robin0,

als ich deine Beitrag damals gesehen hatte, dachte ich: DependencyProperty ... kniffelig. Aber jetzt, wo ich zufällig nochmal auf den Beitrag gestoßen bin und ihn mir genauer angeschaut habe, scheint es mir so zu sein, dass es im wesentlichen darum geht, Methodenaufrufe zu generieren. Das sollte sich mit der ILGenerator.EmitCall-Methode machen lassen.

Solltest du eine eigene Lösung gefunden haben, kannst du diese gerne für die Nachwelt posten.

herbivore