Číst v angličtině

Sdílet prostřednictvím


Object Třída

Definice

Podporuje všechny třídy v hierarchii tříd .NET a poskytuje služby na nízké úrovni pro odvozené třídy. Toto je základní třída všech tříd .NET; je kořenem hierarchie typů.

public class Object
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
[System.Serializable]
public class Object
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class Object
Atributy

Příklady

Následující příklad definuje typ Point odvozený z Object třídy a přepíše mnoho virtuálních Object metod třídy. Kromě toho příklad ukazuje, jak volat mnoho statických metod a metod Object instance třídy.

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.
        var 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 $"({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.
        var p1 = new Point(1,2);

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

        // Make another variable that references the first Point object.
        var 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: {p1.ToString()}");
    }
}

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

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky k rozhraní API pro objekt.

Konstruktory

Object()

Inicializuje novou instanci Object třídy.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

Equals(Object, Object)

Určuje, zda jsou zadané instance objektu považovány za stejné.

Finalize()

Umožňuje objektu pokusit se uvolnit prostředky a provést další operace čištění před jeho uvolněním uvolňováním.

GetHashCode()

Slouží jako výchozí hashovací funkce.

GetType()

Získá aktuální Type instanci.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

ReferenceEquals(Object, Object)

Určuje, zda jsou zadané Object instance stejnou instancí.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 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, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Bezpečný přístup z více vláken

Veřejné statické členy (Shared v jazyce Visual Basic) tohoto typu jsou bezpečné z více vláken. Členům instance není zaručeno, že budou bezpečné pro přístup z více vláken.