Type.IsPointer 속성

2013-12-13

Type이 포인터인지 여부를 나타내는 값을 가져옵니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public bool IsPointer { get; }

속성 값

형식: System.Boolean
Type이 포인터이면 true이고, 그렇지 않으면 false입니다.

현재 Type이 제네릭 형식을 나타내거나 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우 이 속성은 항상 false를 반환합니다.

이 속성은 읽기 전용입니다.

다음 예제에서는 IsPointer 속성의 사용법을 보여 줍니다.


using System;
using System.Reflection;
public class MyTypeDelegator : TypeDelegator
{
   public string myElementType = null;
   private Type myType = null;
   public MyTypeDelegator(Type myType)
      : base(myType)
   {
      this.myType = myType;
   }
   // Override Type.HasElementTypeImpl().
   protected override bool HasElementTypeImpl()
   {
      // Determine whether the type is an array.
      if (myType.IsArray)
      {
         myElementType = "array";
         return true;
      }
      // Determine whether the type is a reference.
      if (myType.IsByRef)
      {
         myElementType = "reference";
         return true;
      }
      // Determine whether the type is a pointer.
      if (myType.IsPointer)
      {
         myElementType = "pointer";
         return true;
      }
      // Return false if the type is not a reference, array, or pointer type.
      return false;
   }
}
public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      try
      {
         int myInt = 0;
         int[] myArray = new int[5];
         MyTypeDelegator myType = new MyTypeDelegator(myArray.GetType());
         // Determine whether myType is an array, pointer, reference type.  
         outputBlock.Text += String.Format("\nDetermine whether a variable is an array, pointer, or reference type.\n") + "\n";
         if (myType.HasElementType)
            outputBlock.Text += String.Format("The type of myArray is {0}.", myType.myElementType) + "\n";
         else
            outputBlock.Text += String.Format("myArray is not an array, pointer, or reference type.") + "\n";
         myType = new MyTypeDelegator(myInt.GetType());
         // Determine whether myType is an array, pointer, reference type. 
         if (myType.HasElementType)
            outputBlock.Text += String.Format("The type of myInt is {0}.", myType.myElementType) + "\n";
         else
            outputBlock.Text += String.Format("myInt is not an array, pointer, or reference type.") + "\n";
      }
      catch (Exception e)
      {
         outputBlock.Text += String.Format("Exception: {0}", e.Message) + "\n";
      }
   }
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시:
© 2014 Microsoft