This documentation is archived and is not being maintained.

Type.IsPointer Property

Gets a value indicating whether the Type is a pointer.

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

'Declaration
Public ReadOnly Property IsPointer As Boolean
'Usage
Dim instance As Type
Dim value As Boolean

value = instance.IsPointer

/** @property */
public final boolean get_IsPointer ()

public final function get IsPointer () : boolean

Not applicable.

Property Value

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.

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Public Class MyTypeDelegator
    Inherits TypeDelegator
    Public myElementType As String = Nothing
    Private myType As Type = Nothing
    Public Sub New(ByVal myType As Type)
        MyBase.New(myType)
        Me.myType = myType
    End Sub 'New
    ' Override Type.HasElementTypeImpl().
    Protected Overrides Function HasElementTypeImpl() As Boolean
        ' Determine whether the type is an array.
        If myType.IsArray Then
            myElementType = "array"
            Return True
        End If
        ' Determine whether the type is a reference.
        If myType.IsByRef Then
            myElementType = "reference"
            Return True
        End If
        ' Determine whether the type is a pointer.
        If myType.IsPointer Then
            myElementType = "pointer"
            Return True
        End If
        ' The type is not a reference, array, or pointer type.
        Return False
    End Function 'HasElementTypeImpl
End Class 'MyTypeDelegator
Public Class Type_HasElementTypeImpl
    Public Shared Sub Main()
        Try
            Dim myInt As Integer = 0
            Dim myArray(4) As Integer
            Dim myType As New MyTypeDelegator(myArray.GetType())
            Console.WriteLine(ControlChars.NewLine + "Determine whether a variable refers to an array or pointer or reference type." + ControlChars.NewLine)
            ' Determine whether myType is an array, pointer, reference type.  
            If myType.HasElementType Then
                Console.WriteLine("The type of myArray is {0}.", myType.myElementType.ToString())
            Else
                Console.WriteLine("myArray is not an array, pointer, or reference type.")
            End If
            myType = New MyTypeDelegator(myInt.GetType())
            ' Determine whether myType is an array, pointer, reference type. 
            If myType.HasElementType Then
                Console.WriteLine("The type of myInt is {0}.", myType.myElementType.ToString())
            Else
                Console.WriteLine("myInt is not an array, pointer, or reference type.")
            End If
        Catch e As Exception
            Console.WriteLine("Exception: {0}", e.Message.ToString())
        End Try
    End Sub 'Main
End Class 'Type_HasElementTypeImpl

import System.*;
import System.Reflection.*;

public class MyTypeDelegator extends TypeDelegator
{
    public String myElementType = null;
    private Type myType = null;

    public MyTypeDelegator(Type myType)
    {
        super(myType);
        this.myType = myType;
    } //MyTypeDelegator

    // Override Type.HasElementTypeImpl().
    protected boolean HasElementTypeImpl()
    {
        // Determine whether the type is an array.
        if (myType.get_IsArray()) {
            myElementType = "array";
            return true;
        }
        // Determine whether the type is a reference.
        if (myType.get_IsByRef()) {
            myElementType = "reference";
            return true;
        }
        // Determine whether the type is a pointer.
        if (myType.get_IsPointer()) {
            myElementType = "pointer";
            return true;
        }
        // Return false if the type is not a reference, array, or pointer type.
        return false;
    } //HasElementTypeImpl
} //MyTypeDelegator

public class Type_HasElementTypeImpl
{
    public static void main(String[] args)
    {
        try {
            int myInt = 0;
            int myArray[] = new int[5];
            MyTypeDelegator myType = new 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.get_HasElementType()) {
                Console.WriteLine("The type of myArray is {0}.", myType.
                    myElementType);
            }
            else {
                Console.WriteLine("myArray is not an array, pointer,"
                    + "or reference type.");
            }
            myType = new MyTypeDelegator(((System.Int32)myInt).GetType()); 
            // Determine whether myType is an array, pointer, reference type. 
            if (myType.get_HasElementType()) {
                Console.WriteLine("The type of myInt is {0}.", myType.
                    myElementType);
            }
            else {
                Console.WriteLine("myInt is not an array, pointer," 
                    + " or reference type.");
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception: {0}", e.get_Message());
        }
    } //main
} //Type_HasElementTypeImpl

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Show: