Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Classe Object

Suporta todas as classes na hierarquia de classes do .NET Framework e fornece serviços de baixo nível para classes derivadas. Este é a classe base fundamental de todas as classes do .NET Framework; ela é a raiz da hierarquia de tipos.

System.Object
  Todas as classes, estruturas, enumerações e delegados.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
public class Object

O tipo Object expõe os membros a seguir.

  NomeDescrição
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreObject
Inicializa uma nova instância da classe Object.
Superior

  NomeDescrição
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreEquals(Object) Verifica se o objeto especificado é igual ao objeto atual.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreEquals(Object, Object) Determina se as instâncias dos objetos especificados são consideradas iguais.
Método protegidoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreFinalize Permite um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetHashCodeServe como a função de hash padrão.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetType Obtém o Type da instância atual.
Método protegidoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreMemberwiseCloneCria uma cópia superficial do Object atual.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreReferenceEqualsDetermina se as instâncias especificadas de Object é a mesma instância.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToStringRetorna uma string que representa o objeto atual.
Superior

Os idiomas normalmente não exigem uma classe declarar a herança de Object porque a herança é implícita.

Como todas as classes do.NET Framework são derivadas da classe Object, todo método definido na classe Object está disponível em todos os demais objetos no sistema. As classes derivadas podem sobrescrever e sobrescrevem alguns desses métodos, incluíndo:

  • Equals - da suporte a comparações entre objetos.

  • Finalize - executa operações de limpeza antes que um objeto foi recuperado automaticamente.

  • GetHashCode - Gera um número que corresponde ao valor do objeto para suporte ao uso de uma tabela de hash.

  • ToString - fabrica uma cadeia de caracteres de texto legível que descreve uma instância da classe.

Considerações sobre desempenho

Se você estiver criando uma classe, como uma coleção, que deve tratar qualquer tipo de objeto, você pode criar os membros da classe que aceitam instâncias da classe de Object . Porém, o processo de boxing e de unboxing um tipo leva um custo de desempenho. Se você conhece sua nova classe vai frequentemente lidar com tipos de valor certo que você pode usar uma das duas táticas para minimizar o custo de boxing.

  • Crie um método geral que aceita um tipo de Object , e um conjunto de classificação específicas sobrecargas do método que aceitam cada tipo de valor que você espera sua classe lidar com frequência.

    Se um método de tipo específico existe que aceita o tipo de parâmetro de chamada, não boxing ocorre e o método de tipo específico é invocado.
    Se não há nenhum método de argumento que combina como tipo de parâmetrode chamada, o parâmetro é encaixotado e o método geral é invocado.

  • Criar seu tipo e seus membros para usar produtos genéricas. O Common Language Runtime cria um tipo genérico fechado quando você cria uma instância de sua classe e especifica um argumento de tipo genérico . O método genérico é do tipo específico e pode ser invocado sem caso o parâmetro de chamada.

Embora às vezes é necessário desenvolver as classes de uso geral que aceitam e retornam tipos de Object , você pode melhorar o desempenho também fornecendo uma classe de tipo específica para tratar um tipo frequentemente usado. Por exemplo, forneça uma classe que é específica a definir e a obter valores boolianos elimina o custo de boxing e valores boolianos unboxing.

O exemplo a seguir define um tipo de ponto de Object derivado da classe e substituir muitos dos métodos virtuais da classe de Object . Além disso, o exemplo mostra como chamar muitas estáticos e os métodos da instância de Object classe.


using System;

// The Point class is derived from System.Object.
class Point 
{
    public int x, y;

    public Point(int x, int y) 
    {
        this.x = x;
        this.y = y;
    }

    public override bool Equals(object obj) 
    {
        // If this and obj do not refer to the same type, then they are not equal.
        if (obj.GetType() != this.GetType()) return false;

        // Return true if  x and y fields match.
        Point other = (Point) obj;
        return (this.x == other.x) && (this.y == other.y);
    }

    // Return the XOR of the x and y fields.
    public override int GetHashCode() 
    {
        return x ^ y;
    }

    // Return the point's value as a string.
    public override String ToString() 
    {
        return String.Format("({0}, {1})", x, y);
    }

    // Return a copy of this point object by making a simple field copy.
    public Point Copy() 
    {
        return (Point) this.MemberwiseClone();
    }
}

public sealed class App {
    static void Main() 
    {
        // Construct a Point object.
        Point p1 = new Point(1,2);

        // Make another Point object that is a copy of the first.
        Point p2 = p1.Copy();

        // Make another variable that references the first Point object.
        Point p3 = p1;

        // The line below displays false because p1 and p2 refer to two different objects.
        Console.WriteLine(Object.ReferenceEquals(p1, p2));

        // The line below displays true because p1 and p2 refer to two different objects that have the same value.
        Console.WriteLine(Object.Equals(p1, p2));

        // The line below displays true because p1 and p3 refer to one object.
        Console.WriteLine(Object.ReferenceEquals(p1, p3));

        // The line below displays: p1's value is: (1, 2)
        Console.WriteLine("p1's value is: {0}", p1.ToString());
    }
}

// This code example produces the following output:
//
// False
// True
// True
// p1's value is: (1, 2)
//


.NET Framework

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

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

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.

Os membros estáticos públicos (Shared no Visual Basic) desse são thread-safe. Os membros de instância não há garantia de que seja seguro para threads.

Contribuições da comunidade

Mostrar:
© 2014 Microsoft