microsoft / microsoft/node-api-dotnet

Calling ambiguous overloaded methods

Offen
#466 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
783
Forks
80
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi,

In NET library that I am using, I have two overloaded methods: x(guid) and x(string).
When calling x('aaa') from JavaScript, marshaller can't decide which method to call which results in TypeError: Multiple overloads were found for the supplied argument types.

I have tried creating both System.String and System.Guid objects in JavaScript and passing it to x, however this results in TypeError: A string was expected: Error in GetValueStringUtf16 at D:\a\_work\1\s\src\NodeApi\JSValue.cs:521

Is there any other way to overcome this in pure JavaScript without resorting to creating some proxy method in C#?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere zunächst den überladenen Aufruf x(guid) und x(string) aus JavaScript, untersuche dann NodeApi/JSValue.cs in der Nähe von Zeile 521 sowie den Marshalling-Pfad, der den Overload-Fehler meldet. Als erledigt gilt die Aufgabe, wenn festgestellt wurde, ob reines JavaScript den vorgesehenen Overload auswählen kann, und ein funktionierender Pfad ohne einen C#-Proxy dokumentiert oder implementiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, javascript, node.js
Bereich
api, backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.