Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.Equals-Methode: (Object)

 

Veröffentlicht: Oktober 2016

Bestimmt, ob der zugrunde liegende des aktuellen Systemtyp Type Objekt ist identisch mit dem zugrunde liegenden Systemtyp des angegebenen Object.

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

public override bool Equals(
	object o
)

Parameter

o
Type: System.Object

Das Objekt, dessen zugrunde liegender Systemtyp mit dem zugrunde liegenden Systemtyp des aktuellen Type verglichen werden soll. Damit der Vergleich erfolgreich ist o umgewandelt oder in ein Objekt des Typs konvertiert werden sollen Type.

Rückgabewert

Type: System.Boolean

true, wenn der zugrunde liegende Systemtyp von o mit dem zugrunde liegenden Systemtyp des aktuellen Type übereinstimmt, andernfalls false. Diese Methode gibt auch false Wenn:.

  • o ist null.

  • o kann nicht umgewandelt oder konvertiert einen Type Objekt.

Diese Methode überschreibt Object.Equals. Es wandelt o auf ein Objekt vom Typ Type und ruft die Type.Equals(Type) Methode.

Im folgenden Beispiel wird Equals(Object) zum Vergleichen verschiedener Type Objekt-Instanzen mit verschiedenen Object Instanzen.

using System;
using System.Collections.Generic;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      Type t =typeof(int);
      Object obj1 = typeof(int).GetTypeInfo();
      IsEqualTo(t, obj1);

      Object obj2 = typeof(String);
      IsEqualTo(t, obj2);

      t = typeof(Object);
      Object obj3 = typeof(Object);
      IsEqualTo(t, obj3);

      t = typeof(List<>);
      Object obj4 = (new List<String>()).GetType();
      IsEqualTo(t, obj4);

      t = typeof(Type);
      Object obj5 = null;
      IsEqualTo(t, obj5);
   }

   private static void IsEqualTo(Type t, Object inst)
   {
      Type t2 = inst as Type;
      if (t2 != null)
         Console.WriteLine("{0} = {1}: {2}", t.Name, t2.Name,
                           t.Equals(t2));
      else
         Console.WriteLine("Cannot cast the argument to a type.");

      Console.WriteLine();                        
   }
}
// The example displays the following output:
//       Int32 = Int32: True
//       
//       Int32 = String: False
//       
//       Object = Object: True
//       
//       List`1 = List`1: False
//       
//       Cannot cast the argument to a type.

Zwei Dinge sind besonders erwähnenswert zum Beispiel:

  • Beim Vergleich von eine Type -Objekt, das eine ganze Zahl mit einer TypeInfo -Objekt, das eine ganze zurück Zahl true da TypeInfo abgeleitet ist Type.

  • Beim Vergleich von ein Type Objekt, das darstellt ein IList<T> -Objekt (ein offener generischer Typ) mit einer List(Of String) -Objekt (ein geschlossener generischer Typ) zurückgibt false.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: