如何获得指向未知类型数组的指针?

时间:2015-04-28 13:57:28

标签: c# unmanaged

所以,如果我有这样的代码:

public static void GetPointer(int[] array)
{
    fixed(void* pointer = array)
    {

    }
}

我可以非常容易地获取一个未知类型的int数组的指针。但是如果我想要一个未知类型数组的指针呢?我该怎么办?

public static void GetPointer(Array array)
{
    fixed(void* pointer = array)
    {

    }
}

似乎不起作用。

1 个答案:

答案 0 :(得分:1)

你对指针的意图对我来说很陌生,但你可以使用泛型。这些将允许您使用不同的类型。

public static void GetPointer<T>(T[] array)
{
     // Do Stuff...
}

您可以在<T>中指定类型,以便现在将该类型分配给您将在方法中使用的T。不知道为什么你需要指针,.Net的美妙之处在于减轻对它们的需求。

特别是因为指针在.Net中被视为非托管代码。你通常不使用它。