本文整理汇总了C#中System.Type.HasElementType属性的典型用法代码示例。如果您正苦于以下问题:C# Type.HasElementType属性的具体用法?C# Type.HasElementType怎么用?C# Type.HasElementType使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类System.Type
的用法示例。
在下文中一共展示了Type.HasElementType属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Test
// This code must be compiled with the /unsafe switch:
// csc /unsafe source.cs
using System;
using System.Reflection;
public class Example
{
// This method is for demonstration purposes.
unsafe public void Test(ref int x, out int y, int* z)
{
*z = x = y = 0;
}
public static void Main()
{
// All of the following display 'True'.
// Define an array, get its type, and display HasElementType.
int[] nums = {1, 1, 2, 3, 5, 8, 13};
Type t = nums.GetType();
Console.WriteLine("HasElementType is '{0}' for array types.", t.HasElementType);
// Test an array type without defining an array.
t = typeof(Example[]);
Console.WriteLine("HasElementType is '{0}' for array types.", t.HasElementType);
// When you use Reflection Emit to emit dynamic methods and
// assemblies, you can create array types using MakeArrayType.
// The following creates the type 'array of Example'.
t = typeof(Example).MakeArrayType();
Console.WriteLine("HasElementType is '{0}' for array types.", t.HasElementType);
// When you reflect over methods, HasElementType is true for
// ref, out, and pointer parameter types. The following
// gets the Test method, defined above, and examines its
// parameters.
MethodInfo mi = typeof(Example).GetMethod("Test");
ParameterInfo[] parms = mi.GetParameters();
t = parms[0].ParameterType;
Console.WriteLine("HasElementType is '{0}' for ref parameter types.", t.HasElementType);
t = parms[1].ParameterType;
Console.WriteLine("HasElementType is '{0}' for out parameter types.", t.HasElementType);
t = parms[2].ParameterType;
Console.WriteLine("HasElementType is '{0}' for pointer parameter types.", t.HasElementType);
// When you use Reflection Emit to emit dynamic methods and
// assemblies, you can create pointer and ByRef types to use
// when you define method parameters.
t = typeof(Example).MakePointerType();
Console.WriteLine("HasElementType is '{0}' for pointer types.", t.HasElementType);
t = typeof(Example).MakeByRefType();
Console.WriteLine("HasElementType is '{0}' for ByRef types.", t.HasElementType);
}
}