Laden...

Pointer auf Referenz in C#

Erstellt von scandal0uz vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.685 Views
S
scandal0uz Themenstarter:in
5 Beiträge seit 2005
vor 18 Jahren
Pointer auf Referenz in C#

Hi Leute, habe da ein kleines Problemchen, bei dem ihr mir vielleicht helfen könnt.

Ich benutze aus einer C# Applikation eine C++ dll.
Die Funktion die ich dort aufrufe benötigt als Übergabeparameter einen Zeiger auf eine Referenz eines Integer Arrays.

Die C++ Funktion sieht ungefähr so aus:

EXTERN_C BOOL STDAPICALLTYPE MyFunction(int& count, int*& indices);

Jetzt die Frage, wie ich sowas in C# umsetze. Ich möchte ein Integer Array anlegen und irgendwie dieses Pointer-Referenz-Ding übergeben. Die dll füllt mir dieses mit werten. Dabei besitzt die Variable count hinterher die Größe des Int-Arrays.

Der C# DLL-Aufruf:


[DllImport("MyLib.dll")]
private static extern bool MyFunction(out Int32 count, out int* indices);

Die Implementierung


int count = 0;
int[] test = null;
fixed(int *ptrI = test)
MyFunction(out count, out ptrI);

Also die Variable count hat dann hinterher jedenfalls die Größe des Arrays, aber wie funktioniert das mit dem Int-array??

S
scandal0uz Themenstarter:in
5 Beiträge seit 2005
vor 18 Jahren

Ups, hab ich wohl aus Versehen ins falsche Forum gepostet. Bitte verschieben

S
scandal0uz Themenstarter:in
5 Beiträge seit 2005
vor 18 Jahren

Hat sich erledigt. Funktioniert mit einem ganz normalen Pointer.