@@ -39,50 +39,48 @@ async function invokeDotNetInteropMethodsAsync(shouldSupportSyncInterop, dotNetO
39
39
results [ 'instanceMethodIncomingByRef' ] = instanceMethodResult . incomingByRef ;
40
40
results [ 'instanceMethodOutgoingByRef' ] = DotNet . invokeMethod ( assemblyName , 'ExtractNonSerializedValue' , instanceMethodResult . outgoingByRef ) ;
41
41
}
42
-
43
- if ( ! shouldSupportSyncInterop ) {
44
- // workaround for https://github.com/dotnet/runtime/issues/38098
45
- console . log ( 'Invoking void async methods.' ) ;
46
-
47
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidParameterlessAsync' ) ;
48
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithOneParameterAsync' , ...createArgumentList ( 1 , dotNetObjectByRef ) ) ;
49
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithTwoParametersAsync' , ...createArgumentList ( 2 , dotNetObjectByRef ) ) ;
50
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithThreeParametersAsync' , ...createArgumentList ( 3 , dotNetObjectByRef ) ) ;
51
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithFourParametersAsync' , ...createArgumentList ( 4 , dotNetObjectByRef ) ) ;
52
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithFiveParametersAsync' , ...createArgumentList ( 5 , dotNetObjectByRef ) ) ;
53
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithSixParametersAsync' , ...createArgumentList ( 6 , dotNetObjectByRef ) ) ;
54
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithSevenParametersAsync' , ...createArgumentList ( 7 , dotNetObjectByRef ) ) ;
55
- await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithEightParametersAsync' , ...createArgumentList ( 8 , dotNetObjectByRef ) ) ;
56
-
57
- console . log ( 'Invoking returning async methods.' ) ;
58
- results [ 'result1Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ReturnArrayAsync' ) ;
59
- results [ 'result2Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoOneParameterAsync' , ...createArgumentList ( 1 , dotNetObjectByRef ) ) ;
60
- results [ 'result3Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoTwoParametersAsync' , ...createArgumentList ( 2 , dotNetObjectByRef ) ) ;
61
- results [ 'result4Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoThreeParametersAsync' , ...createArgumentList ( 3 , dotNetObjectByRef ) ) ;
62
- results [ 'result5Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoFourParametersAsync' , ...createArgumentList ( 4 , dotNetObjectByRef ) ) ;
63
- results [ 'result6Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoFiveParametersAsync' , ...createArgumentList ( 5 , dotNetObjectByRef ) ) ;
64
- results [ 'result7Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoSixParametersAsync' , ...createArgumentList ( 6 , dotNetObjectByRef ) ) ;
65
- results [ 'result8Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoSevenParametersAsync' , ...createArgumentList ( 7 , dotNetObjectByRef ) ) ;
66
- results [ 'result9Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoEightParametersAsync' , ...createArgumentList ( 8 , dotNetObjectByRef ) ) ;
67
-
68
- const returnDotNetObjectByRefAsync = await DotNet . invokeMethodAsync ( assemblyName , 'ReturnDotNetObjectByRefAsync' ) ;
69
- results [ 'resultReturnDotNetObjectByRefAsync' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ExtractNonSerializedValue' , returnDotNetObjectByRefAsync [ 'Some async instance' ] ) ;
70
-
71
- const instanceMethodAsync = await instanceMethodsTarget . invokeMethodAsync ( 'InstanceMethodAsync' , {
72
- stringValue : 'My string' ,
73
- dtoByRef : dotNetObjectByRef
74
- } ) ;
75
42
76
- results [ 'instanceMethodThisTypeNameAsync' ] = instanceMethodAsync . thisTypeName ;
77
- results [ 'instanceMethodStringValueUpperAsync' ] = instanceMethodAsync . stringValueUpper ;
78
- results [ 'instanceMethodIncomingByRefAsync' ] = instanceMethodAsync . incomingByRef ;
79
- results [ 'instanceMethodOutgoingByRefAsync' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ExtractNonSerializedValue' , instanceMethodAsync . outgoingByRef ) ;
43
+ console . log ( 'Invoking void async methods.' ) ;
44
+
45
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidParameterlessAsync' ) ;
46
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithOneParameterAsync' , ...createArgumentList ( 1 , dotNetObjectByRef ) ) ;
47
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithTwoParametersAsync' , ...createArgumentList ( 2 , dotNetObjectByRef ) ) ;
48
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithThreeParametersAsync' , ...createArgumentList ( 3 , dotNetObjectByRef ) ) ;
49
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithFourParametersAsync' , ...createArgumentList ( 4 , dotNetObjectByRef ) ) ;
50
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithFiveParametersAsync' , ...createArgumentList ( 5 , dotNetObjectByRef ) ) ;
51
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithSixParametersAsync' , ...createArgumentList ( 6 , dotNetObjectByRef ) ) ;
52
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithSevenParametersAsync' , ...createArgumentList ( 7 , dotNetObjectByRef ) ) ;
53
+ await DotNet . invokeMethodAsync ( assemblyName , 'VoidWithEightParametersAsync' , ...createArgumentList ( 8 , dotNetObjectByRef ) ) ;
54
+
55
+ console . log ( 'Invoking returning async methods.' ) ;
56
+ results [ 'result1Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ReturnArrayAsync' ) ;
57
+ results [ 'result2Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoOneParameterAsync' , ...createArgumentList ( 1 , dotNetObjectByRef ) ) ;
58
+ results [ 'result3Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoTwoParametersAsync' , ...createArgumentList ( 2 , dotNetObjectByRef ) ) ;
59
+ results [ 'result4Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoThreeParametersAsync' , ...createArgumentList ( 3 , dotNetObjectByRef ) ) ;
60
+ results [ 'result5Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoFourParametersAsync' , ...createArgumentList ( 4 , dotNetObjectByRef ) ) ;
61
+ results [ 'result6Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoFiveParametersAsync' , ...createArgumentList ( 5 , dotNetObjectByRef ) ) ;
62
+ results [ 'result7Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoSixParametersAsync' , ...createArgumentList ( 6 , dotNetObjectByRef ) ) ;
63
+ results [ 'result8Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoSevenParametersAsync' , ...createArgumentList ( 7 , dotNetObjectByRef ) ) ;
64
+ results [ 'result9Async' ] = await DotNet . invokeMethodAsync ( assemblyName , 'EchoEightParametersAsync' , ...createArgumentList ( 8 , dotNetObjectByRef ) ) ;
65
+
66
+ const returnDotNetObjectByRefAsync = await DotNet . invokeMethodAsync ( assemblyName , 'ReturnDotNetObjectByRefAsync' ) ;
67
+ results [ 'resultReturnDotNetObjectByRefAsync' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ExtractNonSerializedValue' , returnDotNetObjectByRefAsync [ 'Some async instance' ] ) ;
68
+
69
+ const instanceMethodAsync = await instanceMethodsTarget . invokeMethodAsync ( 'InstanceMethodAsync' , {
70
+ stringValue : 'My string' ,
71
+ dtoByRef : dotNetObjectByRef
72
+ } ) ;
80
73
81
- console . log ( 'Invoking generic type instance methods.' ) ;
74
+ results [ 'instanceMethodThisTypeNameAsync' ] = instanceMethodAsync . thisTypeName ;
75
+ results [ 'instanceMethodStringValueUpperAsync' ] = instanceMethodAsync . stringValueUpper ;
76
+ results [ 'instanceMethodIncomingByRefAsync' ] = instanceMethodAsync . incomingByRef ;
77
+ results [ 'instanceMethodOutgoingByRefAsync' ] = await DotNet . invokeMethodAsync ( assemblyName , 'ExtractNonSerializedValue' , instanceMethodAsync . outgoingByRef ) ;
78
+
79
+ console . log ( 'Invoking generic type instance methods.' ) ;
80
+
81
+ results [ 'syncGenericInstanceMethod' ] = await genericDotNetObjectByRef . invokeMethodAsync ( 'Update' , 'Updated value 1' ) ;
82
+ results [ 'asyncGenericInstanceMethod' ] = await genericDotNetObjectByRef . invokeMethodAsync ( 'UpdateAsync' , 'Updated value 2' ) ;
82
83
83
- results [ 'syncGenericInstanceMethod' ] = await genericDotNetObjectByRef . invokeMethodAsync ( 'Update' , 'Updated value 1' ) ;
84
- results [ 'asyncGenericInstanceMethod' ] = await genericDotNetObjectByRef . invokeMethodAsync ( 'UpdateAsync' , 'Updated value 2' ) ;
85
- }
86
84
87
85
if ( shouldSupportSyncInterop ) {
88
86
results [ 'genericInstanceMethod' ] = genericDotNetObjectByRef . invokeMethod ( 'Update' , 'Updated Value 3' ) ;
@@ -96,13 +94,13 @@ async function invokeDotNetInteropMethodsAsync(shouldSupportSyncInterop, dotNetO
96
94
}
97
95
98
96
try {
99
- ! shouldSupportSyncInterop && await DotNet . invokeMethodAsync ( assemblyName , 'AsyncThrowSyncException' ) ;
97
+ await DotNet . invokeMethodAsync ( assemblyName , 'AsyncThrowSyncException' ) ;
100
98
} catch ( e ) {
101
99
results [ 'AsyncThrowSyncException' ] = e . message ;
102
100
}
103
101
104
102
try {
105
- ! shouldSupportSyncInterop && await DotNet . invokeMethodAsync ( assemblyName , 'AsyncThrowAsyncException' ) ;
103
+ await DotNet . invokeMethodAsync ( assemblyName , 'AsyncThrowAsyncException' ) ;
106
104
} catch ( e ) {
107
105
results [ 'AsyncThrowAsyncException' ] = e . message ;
108
106
}
0 commit comments