Ähnlich wie dies , aber mit einer Drehung.
VB-Funktionsdeklaration:
%Vor% Beim Aufruf von C # (andere Lösung habe ich über .dll
kopiert)
Fehler 164 Keine Überladung für Methode 'MyFunc' nimmt 2 Argumente
Metadaten zeigen die Funktion an:
%Vor% Warum hat ein Optional
es geschafft, während der andere nicht?
C # unterstützt die optionalen Parameter ref
nicht. Wenn Sie obj
zu einem ByValue
-Parameter ändern, sollte es in Ordnung sein.
Wenn Sie versuchen, einen optionalen ref
-Parameter in C # zu deklarieren, verstoßen Sie gegen Abschnitt 10.6.1 der C # 4-Spezifikation:
Ein fester Parameter mit einem Standardargument wird als optionaler Parameter bezeichnet.
...
Ein
ref
oderout
Parameter kann kein Standard-Argument haben.
Die Ausnahme ist für COM, wo ref
-Parameter extrem häufig sind. Wenn der C # -Compiler weiß, dass er mit einer COM-Komponente zu tun hat, erlaubt es Ihnen, optionale ref
-Parameter wegzulassen.
C # erlaubt keine optionalen Parameter. Das ist der Grund.
Siehe diese andere Frage + Antwort:
Tags und Links .net c# optional-parameters vb.net