Applications Windows
Réduire la table des matières
Développer la table des matières
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

Object, classe

 

Prend en charge toutes les classes de la hiérarchie des classes du .NET Framework et fournit des services de bas niveau à des classes dérivées.Il s'agit de la classe de base fondamentale parmi toutes les classes du .NET Framework. Elle constitue la racine de la hiérarchie des types.

Pour parcourir le code source de .NET Framework pour ce type, consultez la Reference Source.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  Ensemble des classes, structures, énumérations et délégués.

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

NomDescription
System_CAPS_pubmethodObject()

Initialise une nouvelle instance de la classe Object.

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.

System_CAPS_pubmethodSystem_CAPS_staticEquals(Object, Object)

Détermine si les instances d'objet spécifiées sont considérées comme égales.

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection.

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.

System_CAPS_pubmethodSystem_CAPS_staticReferenceEquals(Object, Object)

Détermine si les instances de Object spécifiées sont identiques.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.

System_CAPS_noteRemarque

Pour afficher le code source de .NET Framework pour ce type, consultez la Reference Source.Vous pouvez parcourir le code source en ligne, téléchargez la référence hors connexion et parcourir les sources (y compris les correctifs et mises à jour) au cours du débogage ; see instructions.

Langues ne nécessitent généralement pas d'une classe déclare l'héritage de Object car l'héritage est implicite.

Étant donné que toutes les classes du .NET Framework sont dérivées de Object, chaque méthode définie dans le Object classe est disponible dans tous les objets dans le système.Classes dérivées peuvent et substituer certaines de ces méthodes, notamment :

  • Equals -Prend en charge les comparaisons entre objets.

  • Finalize -Effectue des opérations de nettoyage avant qu'un objet est automatiquement récupéré.

  • GetHashCode -Génère un nombre correspondant à la valeur de l'objet pour prendre en charge l'utilisation d'une table de hachage.

  • ToString -Fabrique une chaîne de texte explicite qui décrit une instance de la classe.

Si vous concevez une classe, une collection qui doit gérer tout type d'objet, par exemple, vous pouvez créer des membres de classe qui acceptent des instances de la Object classe.Toutefois, le processus de conversion boxing et unboxing d'un type a une baisse des performances.Si vous savez que votre nouvelle classe devra souvent gérer certains types valeur, vous pouvez utiliser une des deux solutions suivantes pour réduire le coût de la conversion boxing.

  • Créer une méthode générale qui accepte un Object type et un ensemble de surcharges de méthodes spécifiques au type qui acceptent chaque type valeur que votre classe à gérer souvent.S'il existe une méthode spécifique au type qui accepte le type de paramètre appelant, aucune conversion boxing se produit et la méthode spécifique au type est appelée.S'il n'existe aucun argument de la méthode qui correspond au type de paramètre appelant, le paramètre est boxed et la méthode générale est appelée.

  • Concevez votre type et ses membres à utiliser des caractères génériques.Le common language runtime crée un type générique fermé lorsque vous créez une instance de votre classe et que vous spécifiez un argument de type générique.La méthode générique est spécifique au type et peut être appelée sans conversion boxing le paramètre appelant.

Bien qu'il soit parfois nécessaire de développer des classes à usage général qui acceptent et retournent Object types, vous pouvez améliorer les performances en fournissant également une classe spécifique au type pour gérer un type utilisé fréquemment.Par exemple, en fournissant une classe qui est spécifique à la définition et l'obtention de valeurs booléennes élimine le coût de la conversion boxing et unboxing des valeurs booléennes.

L'exemple suivant définit un type Point dérivé de la Object classe et remplace un grand nombre de méthodes virtuelles de la Object classe.En outre, l'exemple montre comment appeler la plupart des statiques et d'instance des méthodes de la 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)
//

Universal Windows Platform
Disponible depuis 4.5
.NET Framework
Disponible depuis 1.1
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Statique public (Shared en Visual Basic) de ce type sont thread-safe.Les membres d'instance ne sont pas garantis pour être thread-safe.

Retour au début
Afficher:
© 2016 Microsoft