[Python.NET] Can a python class passed back to .Net

Tony Roberts tony at pyxll.com
Thu Mar 17 12:48:45 EDT 2016


You have to decorate the methods you want to expose to .net with the
clrmethod decorator, e.g.

class MyClass(IInterface):
    @clrmethod(int, [str])
    def overridden_method(self, x):
        return len(x)

The parameters to the clrmethod decorator are the method return type and
argument types. You can expose properties similarly using the clrproperty
decorator.

See runtime/resources/clr.py for details.

regards,
Tony


On Wed, Mar 16, 2016 at 9:29 PM Hansong Huang <hhspiny at pine.cc> wrote:

> This might be an obvious problem out of my lack of understanding how
> Python.Net work.
>
> I am exploring the possibility of program WPF ViewModel.
>
> After resolving the problem inheriting .Net interface class,
>
> class ViewModel(System.ComponentModel.INotifyPropertyChanged):
>     __namespace__ = "WPFPy"
> ....
>
> class MyViewModel(ViewModel):
> ....  here to implement follow ironpython examples
>
> then assign it to DataContext
>
> self.window = System.Windows.Markup.XamlReader.Load(outStream)
> self.window.DataContext = MyViewModel()
>
> this does not seem to work, the property/method in MyViewModel is never
> called nor any data binding happened.
>
> I was able to get ExpandoObject work well though and binding works fine
> self.window.DataContext = System.Dynamic.ExpandoObject()
>
> so, that makes me asking if it makes sense at all to pass a Python class
> object back into .Net framework and expect it works -- even if the proper
> interface is implemented.
>
>
> thanks
>
>
>
>
>
>
>
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> https://mail.python.org/mailman/listinfo/pythondotnet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20160317/3475202e/attachment-0001.html>


More information about the PythonDotNet mailing list