Type.IsPointer Property
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets a value indicating whether the Type is a pointer.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public ReadOnly Property IsPointer As Boolean
public bool IsPointer { get; }
Property Value
Type: System.Boolean
true if the Type is a pointer; otherwise, false.
Remarks
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.
Examples
The following example shows a use of the IsPointer property.
Imports System.Reflection
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 Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
Try
Dim myInt As Integer = 0
Dim myArray(4) As Integer
Dim myType As New MyTypeDelegator(myArray.GetType())
outputBlock.Text &= ControlChars.NewLine + "Determine whether a variable refers to an array or pointer or reference type." + ControlChars.NewLine & vbCrLf
' Determine whether myType is an array, pointer, reference type.
If myType.HasElementType Then
outputBlock.Text += String.Format("The type of myArray is {0}.", myType.myElementType.ToString()) & vbCrLf
Else
outputBlock.Text += String.Format("myArray is not an array, pointer, or reference type.") & vbCrLf
End If
myType = New MyTypeDelegator(myInt.GetType())
' Determine whether myType is an array, pointer, reference type.
If myType.HasElementType Then
outputBlock.Text += String.Format("The type of myInt is {0}.", myType.myElementType.ToString()) & vbCrLf
Else
outputBlock.Text += String.Format("myInt is not an array, pointer, or reference type.") & vbCrLf
End If
Catch e As Exception
outputBlock.Text += String.Format("Exception: {0}", e.Message.ToString()) & vbCrLf
End Try
End Sub 'Main
End Class 'Type_HasElementTypeImpl
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";
}
}
}
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.