I want to pass a one dimensional array vb.net to vc++ managed DLL,in visual studio 2008.Dll is created.In VB.net, During building time it's give one error.
What I have tried:
//ERROR
error BC30657: 'abc' has a return type that is not supported or parameter
type that are not supported .
////////////////////////
//My Dll code // MyCDll.h
#pragma once
using namespace System;
#include "stdafx.h"
namespace MyCDll
{
public ref class Class1
{
public:
static int abc(int nu[])
{
int i,value=0;
for (i=1;i<5;i++)
{
if(nu[i])
{
value=i+1;
}
}
//Return the position of the number in the array.
return value;
}
};
}
The vb.net code:
Imports System.IO
Imports System.Runtime.InteropServices
Module Module1
'Dim result As Integer
Sub Main()
Dim nums() As Integer = New Integer() {1, 2, 3, 4, 5, 6}
'Dim nums() As Integer = {1, 2, 3, 4, 5, 6}
Dim obj As New MyCDll.Class1
Console.WriteLine(obj.abc(ByVal nums() As Integer)As Integer)
'result = obj.abc(ByVal nums()As Integer)
Console.ReadLine()
End Sub
End Module