diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs index 0d152804da..13577a422e 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/NRefactoryToPythonConverter.cs @@ -1560,8 +1560,11 @@ namespace ICSharpCode.PythonBinding // Create event handler expression. IdentifierExpression identifierExpression = eventHandlerExpression as IdentifierExpression; ObjectCreateExpression objectCreateExpression = eventHandlerExpression as ObjectCreateExpression; + MemberReferenceExpression memberRefExpression = eventHandlerExpression as MemberReferenceExpression; if (identifierExpression != null) { - Append(identifierExpression.Identifier); + Append("self." + identifierExpression.Identifier); + } else if (memberRefExpression != null) { + memberRefExpression.AcceptVisitor(this, null); } else if (objectCreateExpression != null) { CreateDelegateCreateExpression(objectCreateExpression.Parameters[0]); } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/AddHandlerConversionTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/AddHandlerConversionTestFixture.cs index 6b22f5992b..2906fa2f44 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/AddHandlerConversionTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/AddHandlerConversionTestFixture.cs @@ -25,11 +25,16 @@ namespace PythonBinding.Tests.Converter "\t{" + "\t\tbutton = new Button();\r\n" + "\t\tbutton.Click += ButtonClick;\r\n" + + "\t\tbutton.MouseDown += self.OnMouseDown;\r\n" + "\t}\r\n" + "\r\n" + "\tvoid ButtonClick(object sender, EventArgs e)\r\n" + "\t{\r\n" + "\t}\r\n" + + "\r\n" + + "\tvoid OnMouseDown(object sender, EventArgs e)\r\n" + + "\t{\r\n" + + "\t}\r\n" + "}"; [Test] @@ -38,9 +43,13 @@ namespace PythonBinding.Tests.Converter string expectedCode = "class Foo(object):\r\n" + "\tdef __init__(self):\r\n" + "\t\tbutton = Button()\r\n" + - "\t\tbutton.Click += ButtonClick\r\n" + + "\t\tbutton.Click += self.ButtonClick\r\n" + + "\t\tbutton.MouseDown += self.OnMouseDown\r\n" + "\r\n" + "\tdef ButtonClick(self, sender, e):\r\n" + + "\t\tpass\r\n" + + "\r\n" + + "\tdef OnMouseDown(self, sender, e):\r\n" + "\t\tpass"; NRefactoryToPythonConverter converter = new NRefactoryToPythonConverter(SupportedLanguage.CSharp); string code = converter.Convert(csharp); diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/EventHandlerWithObjectCreationTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/EventHandlerWithObjectCreationTestFixture.cs index c2ee4161a8..e316d3706a 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/EventHandlerWithObjectCreationTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/EventHandlerWithObjectCreationTestFixture.cs @@ -38,7 +38,7 @@ namespace PythonBinding.Tests.Converter string expectedCode = "class Foo(object):\r\n" + "\tdef __init__(self):\r\n" + "\t\tbutton = Button()\r\n" + - "\t\tbutton.Click += ButtonClick\r\n" + + "\t\tbutton.Click += self.ButtonClick\r\n" + "\r\n" + "\tdef ButtonClick(self, sender, e):\r\n" + "\t\tpass"; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/RemoveHandlerConversionTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/RemoveHandlerConversionTestFixture.cs index fd3162c471..40c497578c 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/RemoveHandlerConversionTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Converter/RemoveHandlerConversionTestFixture.cs @@ -38,7 +38,7 @@ namespace PythonBinding.Tests.Converter string expectedCode = "class Foo(object):\r\n" + "\tdef __init__(self):\r\n" + "\t\tbutton = Button()\r\n" + - "\t\tbutton.Click -= ButtonClick\r\n" + + "\t\tbutton.Click -= self.ButtonClick\r\n" + "\r\n" + "\tdef ButtonClick(self, sender, e):\r\n" + "\t\tpass";