microsoft / microsoft/node-api-dotnet
Calling ambiguous overloaded methods
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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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