### Godot version

4.0-stable_mono_win64

### System information

Windows 11 22H2

### Issue description

> 
![Script](https://user-images.githubusercontent.com/43518523/224719220-9ab4a56c-2e9c-4c1b-bebe-d62eb23e372b.png)
![Bug](https://user-images.githubusercontent.com/43518523/224719256-34436394-6d89-4a2e-a588-f9f11ae06ea1.png)
Expected: The parameter type of OnChildEnteredTree (underlined) in the dialog is Node, not Object.

### Steps to reproduce

1. Write a public (signal listener) C# function with a Node parameter.
2. Build .NET project.
3. Try to connect some suitable signal (e.g. "child_entered_tree") to that function, and it won't appear in the Pick dialog if `Compatible Methods Only` is on.

### Minimal reproduction project

[SignalParamBug.zip](https://github.com/godotengine/godot/files/10958019/SignalParamBug.zip)

return p_object->has_instance_binding(get_singleton());
}
void CSharpLanguage::tie_native_managed_to_unmanaged(GCHandleIntPtr p_gchandle_intptr, Object *p_unmanaged, const StringName *p_native_name, bool p_ref_counted) {
	
	CRASH_COND(!p_unmanaged);
	
	
	RefCounted *rc = Object::cast_to<RefCounted>(p_unmanaged);
	CRASH_COND(p_ref_counted != (bool)rc);
	MonoGCHandleData gchandle = MonoGCHandleData(p_gchandle_intptr,
			p_ref_counted ? gdmono::GCHandleType::WEAK_HANDLE : gdmono::GCHandleType::STRONG_HANDLE);
	
	
	
	
	
	CSharpScriptBinding script_binding;
	script_binding.inited = true;
	script_binding.type_name = *p_native_name;
	script_binding.gchandle = gchandle;
	script_binding.owner = p_unmanaged;
	if (p_ref_counted) {
		
		
		
		
		
		if (rc->init_ref()) {
			CSharpLanguage::get_singleton()->post_unsafe_reference(rc);