Announcement

Collapse
No announcement yet.

allgemeine Frage zur Sprachinteroperatibilität mit Visual Studio

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • allgemeine Frage zur Sprachinteroperatibilität mit Visual Studio

    Habe mich gerade erst seit kurzem mit dem Thema befasst und hab ein wenig mit Visual Studio rumgespielt und habe jetzt mal ne allgemeine Frage. Ich habe mir eine Projektmappe erstellt und darin 2 Projekte. Eines in VisualBasic und eins in C#. Nun möchte ich eine Methode aus VB in dem C# Projekt verwenden. Wie gesagt, ich spiele nur ein wenig herum, also nich bei der Beispielmethode wundern.

    Hier ist meine Basic Klasse:
    Module Module1
    Public Function BeispielMethode(ByVal a As Integer) As Integer
    a = a * 2
    Return (a)
    End Function
    End Module

    Diese möchte ich nun in einer C# Klasse aufrufen und z.B. den Wert über die Console ausgeben. Stelle ich mir das ganze zu einfach vor oder falls nich, wie rufe ich das ganze nun auf?
    Oder muss ich den Code extra in IL Code umwandeln und in einer neuen Datei speichern, um ihn verwenden zu können?
    Zum besseren Verständnis meines Problems hilft vielleicht dieses Bildchen:
    <a href="http://u19769.hs-harz.de/Bsp.JPG">http://u19769.hs-harz.de/Bsp.JPG</a>

  • #2
    Hallo!

    Das Einbinden geht "eigentlich" sehr einfach.

    Das VB-Projekt muß "Klassenbibliothek" sein. (Projektmappenexplorer-Projekt-Eigenschaften / Allgemeine Eigenschaften-Eigenschaften-Ausgabetyp)

    1. Im aufrufenden Projekt: Verweise-(rechte Maustaste)-Verweis hinzufügen...
    2. Registerblatt "Projekte"
    3. Aufzurufendes Projekt "Auswählen".
    4. Im aufrufenden Projekt die Klasse erzeugen und Methode aufrufen (inc. Namespace) z.B.
    ClassLibrary1.Class1 c = new ClassLibrary1.Class1();
    c.V = 12;
    MessageBox.Show(c.V.ToString());

    Wie ein Aufruf ohne Klasse möglich ist kann ich nicht beantworten. Ich würde jedoch die Methode als statische Methode einer Klasse erzeugen.

    mfg
    Thoma

    Comment

    Working...
    X