# Microsoft.JSInterop

``` diff
 namespace Microsoft.JSInterop {
     public interface IJSUnmarshalledObjectReference : IAsyncDisposable, IDisposable, IJSInProcessObjectReference, IJSObjectReference {
-        TResult InvokeUnmarshalled<T0, T1, T2, TResult>(string identifier, T0 arg0, T1 arg1, T2 arg2);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, T1, T2, TResult>(string identifier, T0 arg0, T1 arg1, T2 arg2);
-        TResult InvokeUnmarshalled<T0, T1, TResult>(string identifier, T0 arg0, T1 arg1);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, T1, TResult>(string identifier, T0 arg0, T1 arg1);
-        TResult InvokeUnmarshalled<T0, TResult>(string identifier, T0 arg0);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, TResult>(string identifier, T0 arg0);
-        TResult InvokeUnmarshalled<TResult>(string identifier);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<TResult>(string identifier);
     }
     public interface IJSUnmarshalledRuntime {
-        TResult InvokeUnmarshalled<T0, T1, T2, TResult>(string identifier, T0 arg0, T1 arg1, T2 arg2);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, T1, T2, TResult>(string identifier, T0 arg0, T1 arg1, T2 arg2);
-        TResult InvokeUnmarshalled<T0, T1, TResult>(string identifier, T0 arg0, T1 arg1);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, T1, TResult>(string identifier, T0 arg0, T1 arg1);
-        TResult InvokeUnmarshalled<T0, TResult>(string identifier, T0 arg0);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<T0, TResult>(string identifier, T0 arg0);
-        TResult InvokeUnmarshalled<TResult>(string identifier);
+        [ObsoleteAttribute("This method is obsolete. Use JSImportAttribute instead.")]
+        TResult InvokeUnmarshalled<TResult>(string identifier);
     }
 }
```

