Dato: Istanza System.Type.Come ottenere metodi in un tipo
L'obiettivo è quello di ottenere i metodi di nuova introduzione (non so la parola giusta) nel tipo, che sono - non ha ereditato - non sovrascritto
voglio usare .NET Riflessione e Ho provato il metodo Type.GetMethods()
. Ma, è ritornato anche a quelli ereditati e sovrascritti.
Ho pensato di filtrare dopo aver ottenuto tutti i metodi. E ho esaminato le proprietà/metodi esposti dalla classe MethodInfo
. Non riuscivo a capire come ottenere ciò che volevo.
Per esempio: Ho una classe, class A { void Foo() { } }
Quando invoco typeof(A).GetMethods()
, ottengo Foo
insieme con i metodi in System.Object
: Equals
, ToString
, GetType
e GetHashCode
. Voglio filtrarlo a solo Foo
.
Qualcuno sa come fare?
Grazie.
metodi ereditati e sovrascritto appartengono al tipo. Perché ti aspetteresti che non vengano elencati? Puoi spiegare per favore cosa stai cercando di realizzare? – asawyer
Sto provando a generare un rapporto che dice che questi metodi sono stati aggiunti alla libreria/al prodotto. E non voglio elencare i metodi ereditati/sovrascritti a causa dei requisiti aziendali. Devono essere segnalati come parte del loro tipo di definizione. – pnvn