MarshalByRefObject.MemberwiseClone(Boolean) Método
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.
Cria uma cópia superficial do objeto MarshalByRefObject atual.
protected:
MarshalByRefObject ^ MemberwiseClone(bool cloneIdentity);
protected MarshalByRefObject MemberwiseClone (bool cloneIdentity);
override this.MemberwiseClone : bool -> MarshalByRefObject
Protected Function MemberwiseClone (cloneIdentity As Boolean) As MarshalByRefObject
- cloneIdentity
- Boolean
false
para excluir a identidade do objeto MarshalByRefObject atual, o que fará com que o objeto seja atribuído a uma nova identidade quando ele passa por marshaling em um limite de comunicação remota. Um valor de false
geralmente é adequado. true
para copiar a identidade do objeto MarshalByRefObject atual para o clone, o que fará com que as chamadas de cliente de comunicação remota sejam roteados para o objeto do servidor remoto.
Uma cópia superficial do objeto MarshalByRefObject atual.
O método cria uma cópia superficial criando um novo objeto e copiando os campos não estáticos do objeto MemberwiseClone(Boolean) atual para o novo MarshalByRefObject MarshalByRefObject objeto. Se um campo for um tipo de valor, uma cópia bit a bit do campo será executada. Se um campo for um tipo de referência, a referência será copiada, mas o objeto referenciado não será; portanto, o objeto original e seu clone referem-se ao mesmo objeto.
Por exemplo, considere um objeto chamado X que faz referência aos objetos A e B. O objeto B, por sua MarshalByRefObject vez, faz referência ao objeto C. Uma cópia superficial de X cria um novo objeto X2 que também faz referência aos objetos A e B. Por outro lado, uma cópia profunda de X cria um novo objeto X2 que referencia os novos objetos A2 e B2, que são cópias de A e B. B2, por sua vez, faz referência ao novo objeto C2, que é uma cópia C. Use uma classe que implementa a interface para executar uma cópia profunda ou superficial de ICloneable um objeto.
A identidade de um MarshalByRefObject objeto é definida como o objeto de servidor remoto que é o destino de uma chamada de cliente de remota. Por padrão, o clone de membro de um objeto tem a mesma identidade que o objeto original, que normalmente não é o comportamento correto para clones de objetos do lado do servidor que são marshalados em um limite de remoção para o lado do MarshalByRefObject cliente. Especifique , que geralmente é apropriado, para excluir a identidade do clone e fazer com que uma nova identidade seja atribuída quando o clone é marshalado em um limite de remoção ou para fazer com que o clone mantenha a identidade do false
true
objeto MarshalByRefObject original. O MemberwiseClone(Boolean) método destina-se a ser usado por desenvolvedores que implementam objetos de servidor remoto.
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
.NET Standard | 2.0, 2.1 |