Entwickler-Ecke
WinForms - ListBox.DisplayMember + Erweiterungsmethode
k-weddige - Sa 03.01.09 16:07
Titel: ListBox.DisplayMember + Erweiterungsmethode
Ich habe eine Listbox, die als DataSource eine BindingList<string> hat. Als Displaymember verwende ich eine Erweiterungsmethode, nur leider bewirkt das nichts:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public static class myStringEnhancements { public static string FirstLine(this string s) { int nl = s.IndexOf("\n"); if (nl > -1) return s.Remove(nl); else return s; } } |
C#-Quelltext
1: 2: 3: 4:
| ... listBox1.DataSource = data; listBox1.DisplayMember = "FirstLine"; ... |
FirstLine wird nie aufgerufen und in der ListBox werden die unbearbeiteten Daten angezeigt.
Sieht jemand den Fehler? Was habe ich übersehen?
TIA
Konstantin
Christian S. - Sa 03.01.09 16:57
Eine Extension-Method ist kein Member der erweiterten Klasse. Tatsächlich werden Extension-Methods schon zur compilezeit in die entsprechenden statischen Methoden aufgelöst.
Die Doku ist außerdem recht eindeutig darin, dass der DisplayMember eine Property sein muss. ;-)
k-weddige - Sa 03.01.09 17:31
:( Hirn vorher einschalten hilft... :oops:
v. A. wenn man weiß, dass es eine Property sein muss. :evil:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!