Linguaggio

Class.GetMethods Metodo

Definizione

Restituisce una matrice contenente oggetti che Method riflettono tutti i metodi pubblici della classe o dell'interfaccia rappresentata da questo Class oggetto, inclusi quelli dichiarati dalla classe o dall'interfaccia e quelli ereditati da superclassi e superinterfaccia.

[Android.Runtime.Register("getMethods", "()[Ljava/lang/reflect/Method;", "")]
public Java.Lang.Reflect.Method[] GetMethods();
[<Android.Runtime.Register("getMethods", "()[Ljava/lang/reflect/Method;", "")>]
member this.GetMethods : unit -> Java.Lang.Reflect.Method[]

Valori restituiti

Method[]

matrice di Method oggetti che rappresentano i metodi pubblici di questa classe

Attributi

Commenti

Restituisce una matrice contenente oggetti che Method riflettono tutti i metodi pubblici della classe o dell'interfaccia rappresentata da questo Class oggetto, inclusi quelli dichiarati dalla classe o dall'interfaccia e quelli ereditati da superclassi e superinterfaccia.

Se questo Class oggetto rappresenta un tipo di matrice, la matrice restituita ha un Method oggetto per ognuno dei metodi pubblici ereditati dal tipo di matrice da Object. Non contiene un Method oggetto per clone().

Se questo Class oggetto rappresenta un'interfaccia, la matrice restituita non contiene metodi dichiarati in modo implicito da Object. Pertanto, se nessun metodo viene dichiarato in modo esplicito in questa interfaccia o in una delle sue superinterfacce, la matrice restituita ha lunghezza 0. Si noti che un Class oggetto che rappresenta una classe ha sempre metodi pubblici, ereditati da Object.

La matrice restituita non contiene mai metodi con nomi "<init>" o "<clinit>".

Gli elementi nella matrice restituita non sono ordinati e non sono in un ordine specifico.

In genere, il risultato viene calcolato come con l'algoritmo di 4 passaggi seguente. Lasciare che C sia la classe o l'interfaccia rappresentata da questo Class oggetto: <ol><li> Un'unione di metodi è costituita da: <ol type="a"a"><istanza pubblica dichiarata di li> C e metodi statici restituiti da #getDeclaredMethods() e filtrati per includere solo i metodi pubblici.</li><li> Se C è una classe diversa da Object, includere il risultato di richiamare questo algoritmo in modo ricorsivo sulla superclasse di C.</li><Include> i risultati della chiamata di questo algoritmo in modo ricorsivo su tutte le superinterfacce dirette di C, ma includono solo metodi di istanza.</li></ol></li><> Union del passaggio 1 viene partizionato in subset di metodi con la stessa firma (nome, tipi di parametro) e tipo restituito.</li><li> All'interno di ogni subset vengono selezionati solo i metodi più specifici. Il metodo M può essere un metodo da un set di metodi con la stessa firma e lo stesso tipo restituito. M è più specifico se non esiste un metodo di questo tipo N != M dallo stesso set, in modo che N sia più specifico di M. N è più specifico di M se: <ol type="a"a"><li> N è dichiarato da una classe e M è dichiarato da un'interfaccia; o</li li><> N e M sono entrambi dichiarati dalle classi o sia dalle interfacce che dal tipo dichiarante N è uguale o un sottotipo di Tipo dichiarante di M (chiaramente, se i tipi dichiarati da M e N sono dello stesso tipo, M e N sono lo stesso metodo).</li></ol></li li><> Il risultato di questo algoritmo è l'unione di tutti i metodi selezionati del passaggio 3.</li></ol>

Aggiunta nella versione 1.1.

per java.lang.Class.getMethods().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

Vedi anche