2016-04-05 13 views
0

Ich muss den folgenden Code von C in C# konvertieren. Das Hauptproblem ist die Struktur. Ich muss in der Lage sein, die Funktion durch eine Nummer zu referenzieren. Kann mir jemand dabei helfen?Convert C-Funktion Pointer-Struktur in C#

void test00(void) 
{ 
    printf("This is test 00\r\n"); 
} 

void test01(void) 
{ 
    printf("This is test 01\r\n"); 
} 

void test02(void) 
{ 
    printf("This is test 02\r\n"); 
} 

typedef struct 
{ 
    int test_number; 
    int (*func)(); 
} test_list_type; 

test_list_type test_list[] = 
{ 
    {0, test00}, 
    {1, test01}, 
    {2, test02} 
}; 

int main() 
{ 
    int i; 

    for (i = 0; i < 3; i++) 
    { 
     test_list[i].func(); 
    } 

    return 0; 
} 
+0

Was haben Sie versucht? –

Antwort

0

Sie benötigen eine Struktur wie folgt zu erklären:

var test = new teststruct 
{ 
    test_number = 0, 
    function = test02 
}; 

Und rufen Sie die Methode/Aktion wie:

struct test_list_type 
{ 
    int test_number; 
    public Action function; 
} 

Dann Sie eine neue Instanz der Struktur wie diese machen kann dies:

test.function();