Type::IsPointer Property

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets a value indicating whether the Type is a pointer.

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

public:
property bool IsPointer {
	virtual bool get() sealed;
}

Property Value

Type: System::Boolean

true if the Type is a pointer; otherwise, false.

If the current Type represents a generic type, or a type parameter in the definition of a generic type or generic method, this property always returns false.

This property is read-only.

The following example shows a use of the IsPointer property.

using namespace System;
using namespace System::Reflection;
public ref class MyTypeDelegator: public TypeDelegator
{
public:
   String^ myElementType;

private:
   Type^ myType;

public:
   MyTypeDelegator( Type^ myType )
      : TypeDelegator( myType )
   {
      this->myType = myType;
   }


protected:

   // Override Type::HasElementTypeImpl().
   virtual bool HasElementTypeImpl() override
   {

      // 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;
   }

};

int main()
{
   try
   {
      int myInt = 0;
      array<Int32>^myArray = gcnew array<Int32>(5);
      MyTypeDelegator^ myType = gcnew MyTypeDelegator( myArray->GetType() );

      // Determine whether myType is an array, pointer, reference type.
      Console::WriteLine( "\nDetermine whether a variable is an array, pointer, or reference type.\n" );
      if ( myType->HasElementType )
            Console::WriteLine( "The type of myArray is {0}.", myType->myElementType );
      else
            Console::WriteLine( "myArray is not an array, pointer, or reference type." );
      myType = gcnew MyTypeDelegator( myInt.GetType() );

      // Determine whether myType is an array, pointer, reference type.
      if ( myType->HasElementType )
            Console::WriteLine( "The type of myInt is {0}.", myType->myElementType );
      else
            Console::WriteLine( "myInt is not an array, pointer, or reference type." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }

}

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: