Aracılığıyla paylaş


typeof (C# Reference)

Elde etmek için kullanılan System.Type bir türü için nesne.A typeof ifade aşağıdaki formu alır:

System.Type type = typeof(int);

Notlar

Çalışma zamanı tür ifadenin elde etmek için kullanabilirsiniz.net Framework yöntemi GetType, aşağıdaki örnekteki gibi:

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

typeof Operatör olamaz aşırı.

typeof İşleci açık genel türleri de kullanılabilir.Birden fazla tür parametre türleriyle uygun sayıda virgül belirtimi içinde olması gerekir.Aşağıdaki örnek, nasıl bir yöntemin dönüş türü genel olup olmadığını gösterir IEnumerable<T>.MethodInfo türünde bir örnek yöntemi olduğunu varsayalım:

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

Örnek

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
*/

Bu örnek kullanır GetType sayısal hesaplamanın sonucu içermek için kullanılan türünü belirlemek için yöntem.Bu, sonuçta elde edilen sayı depolama gereksinimlerine bağlıdır.

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# dil belirtiminin

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Ayrıca bkz.

Başvuru

C# anahtar sözcükler

(C# Başvurusu)

Operator anahtar sözcükler (C# Reference)

System.Type

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu