ObjectInputStream.ResolveProxyClass(String[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma classe proxy que implementa as interfaces nomeadas em um descritor de classe proxy; As subclasses podem implementar esse método para ler dados personalizados do fluxo junto com os descritores para classes proxy dinâmicas, permitindo que eles usem um mecanismo de carregamento alternativo para as interfaces e a classe proxy.
[Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")]
protected virtual Java.Lang.Class? ResolveProxyClass(string[]? interfaces);
[<Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")>]
abstract member ResolveProxyClass : string[] -> Java.Lang.Class
override this.ResolveProxyClass : string[] -> Java.Lang.Class
Parâmetros
- interfaces
- String[]
a lista de nomes de interface que foram desserializados no descritor de classe proxy
Retornos
uma classe proxy para as interfaces especificadas
- Atributos
Exceções
se a classe proxy ou qualquer uma das interfaces especificadas não puder ser criada.
se ocorrer um erro durante a leitura do fluxo de origem.
Comentários
Retorna uma classe proxy que implementa as interfaces nomeadas em um descritor de classe proxy; As subclasses podem implementar esse método para ler dados personalizados do fluxo junto com os descritores para classes proxy dinâmicas, permitindo que eles usem um mecanismo de carregamento alternativo para as interfaces e a classe proxy.
Esse método é chamado exatamente uma vez para cada descritor de classe proxy exclusivo no fluxo.
O método correspondente é ObjectOutputStreamannotateProxyClass. Para uma determinada subclasse que ObjectInputStream substitui esse método, o annotateProxyClass método na subclasse ObjectOutputStream correspondente deve gravar quaisquer dados ou objetos lidos por este método.
A implementação padrão desse método ObjectInputStream retorna o resultado da chamada Proxy.getProxyClass com a lista de Class objetos para as interfaces nomeadas no interfaces parâmetro. O Class objeto para cada nome i de interface é o valor retornado chamando
Class.forName(i, false, loader)
onde loader está o primeiro carregador nãonull de classe até a pilha de execução ou null se nenhum carregador nãonull de classe estiver na pilha (a mesma opção de carregador de classe usada pelo resolveClass método). A menos que qualquer uma das interfaces resolvidas seja não pública, esse mesmo valor também é o carregador de loader classe passado para Proxy.getProxyClass; se interfaces não públicas estiverem presentes, seu carregador de classe será passado em vez disso (se mais de um carregador de classe de interface não pública for encontrado, um IllegalAccessError será gerado). Se Proxy.getProxyClass lançar um IllegalArgumentException, resolveProxyClass lançará um ClassNotFoundException que contenha o IllegalArgumentException.
Adicionado em 1.3.
Documentação Java para java.io.ObjectInputStream.resolveProxyClass(java.lang.String[]).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.