diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index 5a78bc735f..f89ac954cb 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -169,7 +169,7 @@ struct function_definition_generator // inherited is set in the constructor, true if this instance is from a pure C# class (not generated). if (do_super && !f.is_static) self = "(inherited ? Efl.Eo.Globals.efl_super(" + self + ", this.NativeClass) : " + self + ")"; - else + else if (f.is_static) self = name_helpers::klass_get_full_name(f.klass) + "()"; if(!as_generator diff --git a/src/tests/efl_mono/Eo.cs b/src/tests/efl_mono/Eo.cs index 37d4735b90..ed1d65a779 100644 --- a/src/tests/efl_mono/Eo.cs +++ b/src/tests/efl_mono/Eo.cs @@ -369,4 +369,17 @@ class TestConstructors } } +class TestInterfaceConcrete +{ + // For T7619 + public static void test_iface_concrete_methods() + { + var obj = new Dummy.TestObject(); + Dummy.TestIface iface = Dummy.TestIfaceConcrete.static_cast(obj); + + iface.IfaceProp = 1970; + Test.AssertEquals(iface.IfaceProp, 1970); + } +} + }