typeof (C#-Referenz)typeof (C# Reference)

Wird zum Abrufen des Objekts System.Type eines Typs verwendet.Used to obtain the System.Type object for a type. Der Ausdruck typeof weist folgende Form auf:A typeof expression takes the following form:

System.Type type = typeof(int);  

HinweiseRemarks

Um den Runtime-Typ eines Ausdrucks zu erhalten, können Sie die .NET Framework-Methode GetType wie in folgendem Beispiel verwenden:To obtain the run-time type of an expression, you can use the .NET Framework method GetType, as in the following example:

int i = 0;  
System.Type type = i.GetType();  

Operator typeof kann nicht überladen werden.The typeof operator cannot be overloaded.

Der Operator typeof kann auch bei offenen generischen Typen verwendet werden.The typeof operator can also be used on open generic types. Typen mit mehr als einem Parameter müssen die entsprechende Anzahl von Kommas in der Spezifikation haben.Types with more than one type parameter must have the appropriate number of commas in the specification. Das folgende Beispiel zeigt, wie Sie bestimmen, ob der Rückgabetyp einer Methode ein generischer IEnumerable<T> ist.The following example shows how to determine whether the return type of a method is a generic IEnumerable<T>. Nehmen Sie an, dass die Methode eine Instanz eines MethodInfo-Typs ist:Assume that method is an instance of a MethodInfo type:

string s = method.ReturnType.GetInterface  
    (typeof(System.Collections.Generic.IEnumerable<>).FullName);  

BeispielExample

public class ExampleClass
{
   public int sampleMember;
   public void SampleMethod() {}

   static void Main()
   {
      Type t = typeof(ExampleClass);
      // Alternatively, you could use
      // ExampleClass obj = new ExampleClass();
      // Type t = obj.GetType();

      Console.WriteLine("Methods:");
      System.Reflection.MethodInfo[] methodInfo = t.GetMethods();

      foreach (System.Reflection.MethodInfo mInfo in methodInfo)
         Console.WriteLine(mInfo.ToString());

      Console.WriteLine("Members:");
      System.Reflection.MemberInfo[] memberInfo = t.GetMembers();

      foreach (System.Reflection.MemberInfo mInfo in memberInfo)
         Console.WriteLine(mInfo.ToString());
   }
}
/*
 Output:
    Methods:
    Void SampleMethod()
    System.String ToString()
    Boolean Equals(System.Object)
    Int32 GetHashCode()
    System.Type GetType()
    Members:
    Void SampleMethod()
    System.String ToString()
    Boolean Equals(System.Object)
    Int32 GetHashCode()
    System.Type GetType()
    Void .ctor()
    Int32 sampleMember
*/

BeispielExample

Dieses Beispiel verwendet die GetType-Methode um den Typ zu bestimmen, der verwendet wird, um das Ergebnis einer numerischen Berechnung zu speichern.This sample uses the GetType method to determine the type that is used to contain the result of a numeric calculation. Dies hängt vom Speicherbedarf der resultierenden Zahl ab.This depends on the storage requirements of the resulting number.

class GetTypeTest
{
    static void Main()
    {
        int radius = 3;
        Console.WriteLine("Area = {0}", radius * radius * Math.PI);
        Console.WriteLine("The type is {0}",
                          (radius * radius * Math.PI).GetType()
        );
    }
}
/*
Output:
Area = 28.2743338823081
The type is System.Double
*/

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee Also

System.Type
C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
isis
OperatorschlüsselwörterOperator Keywords