Blubberbernd
Cadet 4th Year
- Registriert
- Juli 2009
- Beiträge
- 94
Hallo Zusammen,
schonmal im Vorraus bin für jede Hilfe und Muse dankbar sich das hier durchzulesen
Ich habe ein kleines Problem mit der Verarbeitung eines "array<String^>" unter C++ .NET.
Das Array ist gefüllt mit vollständigen Dateinamen.
Jede Datei im Array soll geöffnet werden und dann nach bestimmten Schlüsselwörtern durchsucht werden.
Die Klasse array stellt mir eine Methode "ForEach" bereit, die laut MSDN-Hilfe das macht:
"Performs the specified action on each element of the specified array."
Nur habe ich leider keine Ahnung wie ich diese Methode korrekt verwende da ich mir auf die Beschreibungder Methode keinen Reim machen kann:
"
public:
generic<typename T>
static void ForEach (
array<T>^ array,
Action<T>^ action
)
"
Der erste Parameter wird wohl das array sein mit dem für jedes Element eine Aktion ausgeführt werden soll, nur was ist die "Action<T>^ action" ???
Die weitere Beschreibung in der Hilfe hat mir keineswegs weitergeholfen:
"
generic<typename T>
public delegate void Action (
T obj
)
"
Mein Versuchsquelltext dazu ist:
"
files_array = Directory::GetFiles(cs_path,"*.cs",SearchOption::AllDirectories);
files_array->ForEach(files_array,testen(files_array));
void testen(array<String^>^ Blubb)
{
int i=0;
}
"
Zum schluss noch die Fehlerbeschreibung nach dem Kompilieren:
"
error C2784: 'void System::Array::ForEach(cli::array<Type,dimension> ^,System::Action<T> ^)' : could not deduce generic argument for 'System::Action<T> ^' from 'void'
"
Das Googeln nach Beispielen hat mich nicht weiter gebracht.
So nun meine Frage: "Wie verwende ich die Methode richtig?"
schonmal im Vorraus bin für jede Hilfe und Muse dankbar sich das hier durchzulesen
Ich habe ein kleines Problem mit der Verarbeitung eines "array<String^>" unter C++ .NET.
Das Array ist gefüllt mit vollständigen Dateinamen.
Jede Datei im Array soll geöffnet werden und dann nach bestimmten Schlüsselwörtern durchsucht werden.
Die Klasse array stellt mir eine Methode "ForEach" bereit, die laut MSDN-Hilfe das macht:
"Performs the specified action on each element of the specified array."
Nur habe ich leider keine Ahnung wie ich diese Methode korrekt verwende da ich mir auf die Beschreibungder Methode keinen Reim machen kann:
"
public:
generic<typename T>
static void ForEach (
array<T>^ array,
Action<T>^ action
)
"
Der erste Parameter wird wohl das array sein mit dem für jedes Element eine Aktion ausgeführt werden soll, nur was ist die "Action<T>^ action" ???
Die weitere Beschreibung in der Hilfe hat mir keineswegs weitergeholfen:
"
generic<typename T>
public delegate void Action (
T obj
)
"
Mein Versuchsquelltext dazu ist:
"
files_array = Directory::GetFiles(cs_path,"*.cs",SearchOption::AllDirectories);
files_array->ForEach(files_array,testen(files_array));
void testen(array<String^>^ Blubb)
{
int i=0;
}
"
Zum schluss noch die Fehlerbeschreibung nach dem Kompilieren:
"
error C2784: 'void System::Array::ForEach(cli::array<Type,dimension> ^,System::Action<T> ^)' : could not deduce generic argument for 'System::Action<T> ^' from 'void'
"
Das Googeln nach Beispielen hat mich nicht weiter gebracht.
So nun meine Frage: "Wie verwende ich die Methode richtig?"