Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método MarshalByRefObject.MemberwiseClone (Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Parâmetros

cloneIdentity
Tipo: System.Boolean
false Para excluir o atual MarshalByRefObject identidade do objeto, o que fará com que o objeto a ser atribuído a uma nova identidade quando ele é empacotado em um limite de remoting. Um valor de false geralmente é adequada. true Para copiar a atual MarshalByRefObject a identidade do objeto para o clone, o que fará com que o remoting chamadas do cliente sejam roteadas para o objeto de servidor remoto.

Valor de retorno

Tipo: System.MarshalByRefObject
Uma cópia superficial do atual MarshalByRefObject objeto.

O MemberwiseClone(Boolean) método cria uma cópia superficial, criando um novo MarshalByRefObject de objeto e, em seguida, copiando os campos não estático do atual MarshalByRefObject o objeto para o novo objeto. Se um campo é um tipo valorado, uma cópia bit a bit do campo será executada. Se um campo é um tipo de referência, a referência é copiada mas o objeto referido não; Portanto, o objeto original e o clone se referir ao mesmo objeto.

Por exemplo, considere um MarshalByRefObject o objeto chamado x que faz referência a objetos a e b. Objeto B, por sua vez, faz referência ao objeto c. Uma cópia superficial de x cria um novo objeto X 2 que também faz referência a objetos a e b. Por outro lado, uma cópia de profundidade de X cria um novo objeto x 2 que faz referência os novos objetos A2 e B2, que são cópias de um e B. B2, por sua vez, faz referência o novo objeto C2, que é uma cópia de C. Use uma classe que implementa a interface ICloneable para executar uma cópia de profundidade ou superficial de um objeto.

A identidade de um MarshalByRefObject objeto é definido como o objeto de servidor remoto que é o destino de uma chamada de cliente do sistema de interação remota. Por padrão, o clone de memberwise de um MarshalByRefObject o objeto tem a mesma identidade do objeto original, o que não é normalmente o comportamento correto para clones de objetos de servidor que são empacotados em um limite de remoting para o lado do cliente. Especificar false, que é geralmente apropriado, para excluir a identidade do clone e fazer com que uma nova identidade a serem atribuídos quando o clone é empacotado em um limite de remoting, ou true para fazer com que o clone manter a identidade do original MarshalByRefObject objeto. O MemberwiseClone(Boolean) método destina-se a ser usado pelos desenvolvedores implementar objetos de servidor remoto.

.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft