Hallo,
bin noch sehr neu in C# (allerdings kein Programmieranfänger).
Habe aktuell einen "Flüchtigkeitsfehler", weiß aber nicht warum er meint, dass "Class1" keine Definition für "SayHello" enthält. Die Methode SayHello wurde definiert.
Ich möchte zu Übungszwecken eine Funktion aus einer .Net Dll, geschrieben in C# aufrufen.
Das ist die Klasse aus der die DLL-Funktion SayHello aufgerufen wird:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| using System; using System.Windows.Forms; using MyDll;
namespace MyDllCall { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Button1_Click(object sender, EventArgs e) { Class1 Dll = new Class1(); MessageBox.Show(Dll.SayHello()); } } } |
Und hier der Source der DLL:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| using System;
namespace MyDll { public class Class1 { public String SayHello() { return "Hello from the Dll"; } } } |
Und das ist die Fehlermeldung:
Quelltext
1: 2: 3: 4:
| error CS1061: "Class1" enthält keine Definition für "SayHello", und es konnte keine SayHello-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "Class1" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis). |
Das ist wahrscheinlich ein peinlicher Fehler, aber ich find einfach die Lösung nicht.
Vielen Dank im Voraus
Moderiert von Th69: Topic aus C# - Die Sprache verschoben am Mi 20.09.2017 um 09:29