我可以理解Type.GetType()的场景,可以得到对象的类型,但是Type.GetElementType()是什么,它有什么作用?

谁能清楚地解释它?

最佳答案

Type.GetElementType用于数组,指针和by-ref参数类型。例如:

object value = new int[100];
Console.WriteLine(value.GetType()); // System.Int32[]
Console.WriteLine(value.GetType().GetElementType()); // System.Int32


要么:

public void Foo(ref int x) {}
...
var method = typeof(Test).GetMethod("Foo");
var parameter = method.GetParameters()[0];
Console.WriteLine(parameter.ParameterType); // System.Int32&
Console.WriteLine(parameter.ParameterType.GetElementType()); // System.Int32


至于何时使用它们-好吧,这取决于您开始使用反射的方式。

10-08 14:02