| 

.NET C# Java Javascript Exception

3
Ich habe eine Klasse, die von einer generischen Klasse erbt. Mit GetMethode finde ich scheinbar nur Methoden/Funktionen, die in der abgeleiteten Klasse definiert wurden, aber nicht die der Vaterklasse. Wie bekomme ich das hin?
Private Sub SetGridValuetranslation(Of T As New)(ByVal ColumnName As String, ByVal c1Grid As C1TrueDBGrid)
Try
Dim v As C1.Win.C1TrueDBGrid.ValueItemCollection
Dim o As New T

Dim myType As Type = o.GetType
Dim flags As BindingFlags = (BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Static Or BindingFlags.Instance Or BindingFlags.DeclaredOnly Or BindingFlags.FlattenHierarchy)
Dim mi As MethodInfo = myType.GetMethod("FindAll", flags)
' mi is nothing, wenn FindAll nicht in der abgeleiteten Klasse überladen wurde!
Dim Entities As IList(Of T) = mi.Invoke(o, Nothing)


v = Me.C1TrueDBGrid1.Columns(ColumnName).ValueItems.Values
For Each e As T In Entities
v.Add(New C1.Win.C1TrueDBGrid.ValueItem(GetPropertyValue(e, "Id"), GetPropertyValue(e, "ShortText")))
Next

Me.C1TrueDBGrid1.Columns(ColumnName).ValueItems.Translate = True
Catch ex As Exception
MessageBox.Show(ex.Message, "Problem", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub


[edit]CODE tags eingefügt[/edit]
News:
15.08.2011
yammi900 93 4
DaSpors 4,2k 2 8
1 Antwort
5
Ich denke dass sich BindingFlags.DeclaredOnly und BindingFlags.FlattenHierarchy gegenseitig ausschließen. Lass mal BindingFlags.DeclaredOnly weg und probier nochmal.
Siehe hier
15.08.2011
DaSpors 4,2k 2 8
DaSpors 4,2k 2 8
Ja danke, genau das war der Trick. Nur warum bin ich da nicht selbst drauf gekommen? Betriebsblindheit?
yammi900 18.08.2011
Kommt vor :)
Jetzt kannste ja meine Antwort akzeptieren :)
DaSpors 18.08.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH