2009-06-24 1 views
0

Kann mir jemand sagen, wie man ein String-Array von einer Methode zurückgibt und es in C# verwendet?Wie gebe ich ein Zeichenfolgenarray in C# zurück und verwende es in nicht verwaltetem C++?

Angenommen, ich muss ein Array von {eins, zwei, ..... zehn} zurückgeben und in C++ muss ich dieses Array auf der Konsole anzeigen und einige Aktionen ausführen.

+0

Wie ist das signifikant verschieden von diesem http://stackoverflow.com/questions/1032060/how-to- return-a-collection-von-strings-von-c-zu-c-via-com-interop? – sharptooth

+0

Er fragt es zum dritten Mal jetzt ... http://stackoverflow.com/questions/1036720/how-to-return-list-from-c-and-use-it-in-vc-through-com/1036781 # 1036781 – Aamir

+0

Aber ich bin auf der Suche nach der Möglichkeit, Strings zurückzugeben und sie auf Main () verwenden, aber in früheren Liste ist hier ein String-Array – Cute

Antwort

1

Siehe hier für ein Beispiel: http://haroonsaeed.wordpress.com/2006/08/11/interop-managed-c-and-c/

nicht mein Selbst gemacht, aber bei einer Vermutung:

in C# Montag csharpassembly.dll mit der folgenden Klasse

using System; 
namespace Csharpassembly { 
public class CSharpClass { 
    public static string[] GetStrings() { 
    return new string[] {"1", "2", "3"})); 
    } 
} 
} 

Aber genannt dein Fall. Haben sie eine Anordnung, die es das Array in C# und havea mC++ Programmreferenz diese Versammlung und Aufruf erzeugt:

#include "stdafx.h" 

#using <mscorlib.dll> 
#using "csharpassembly.dll" 

using namespace System; 
using namespace Csharpassembly 

__gc class Test { 
public: 

    static void ProcessCShaperStrings()  { 
     array^ stringArray = CSharpClass::GetStrings(); 
     Console::WriteLine(stringArray [0]); ... 
     // etc 

    } 
}; 
int wmain(void) { 
    Test:: ProcessCShaperStrings();  
    return 0; 
} 
+0

Das ist über C# und verwaltet C++ und das OP fragt nach C# und unmanaged C++. – sharptooth

+0

Dieser Blogpost scheint aus meiner Sicht eine sehr gute Antwort zu sein. Ist es möglich, dass Sie in Ihrer Antwort ein wenig von dem beschreiben, was im Blogpost erklärt wird? Auf diese Weise wird Ihre Antwort hilfreich sein, wenn der Blog von Haroon Saeed nicht verfügbar ist. – mezoid

+0

@sharptooth das OP zeigt nicht wirklich an, ob er sich auf verwaltetes oder unmanaged C++ bezieht – mezoid