Bolli1983 - Do 23.09.10 08:56
Titel: Mehrfache Vererbung eines Events
Guten Morgen,
ich suche Hilfestellung zu folgendem Problem:
Ich habe eine Base-Klasse, welche ein Interface implementiert:
C#-Quelltext
1: 2: 3: 4:
| public interface IBaseClass { event EventHandler<SomethingEventArgs> Something; } |
C#-Quelltext
1: 2: 3: 4:
| public abstract class BaseClass : IBaseClass { public abstract event EventHandler<SomethingEventArgs> Alert; } |
Dann habe ich eine "SecondBase"-Klasse, die von der Base-Klasse ableitet, aber ebenfalls abstrakt ist:
C#-Quelltext
1: 2: 3:
| public abstract class SecondBaseClass: BaseClass { } |
Und letztendlich eine Klasse "DoClass", die von der Second Base Klasse ableitet und das Event implementiert:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public class DoClass: SecondBaseClass { public override event EventHandler<SomethingEventArgs> Something { add { this.evtAlert += value; } remove { this.evtAlert -= value; } } } |
In einerzweiten Assembly steht nun irgendwo folgender Code:
C#-Quelltext
1: 2: 3: 4: 5:
| var asm = Assembly.LoadFrom(PfadzurAssembly);
Type t = (from y in asm.GetTypes() where y.BaseType == typeof(BaseClass) select y).FirstOrDefault<Type>(); |
Beim Aufruf erhalte ich nun folgenden Fehler:
| Zitat: |
| {"Die Methode \"add_Something\" im Typ \"DoClass\" der Assembly \"DoClassAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\" hat keine Implementierung.":"DoClassAssembly"} |
Ich bin allerdings der Ansicht, dass ich das add durchaus implementiert habe =o Jemand Ideen? Danke =)
[highlight]Bin nach 2 Tagen Google natürlich 10 Minuten später auf eine Lösung gestoßen, falls jemand ein ähnliches Problem hat:
http://stackoverflow.com/questions/948785/typeloadexception-says-no-implementation-but-it-is-implemented[/highlight]