See the question and my original answer on StackOverflow

This is how you could do declare it in C++ to be usable by C# (see p/invoke tutorials):

extern "C" {
    __declspec( dllexport ) void STDMETHODCALLTYPE Go(float* pMatrix);

    void Go(float* pMatrix) {
       // do your stuff here. assume the matrix has 16 elements

and in C#:

public static extern void Go(float[] matrix);

Sample C# code:

Matrix m = myMatrix;

EDIT: if you use a C++/CLI managed assembly, then you could declare the function like this:

using namespace System;

public ref class Class1

        void Go(array<float> ^ pFloat)