.NET

Catalin Lungu lcatalin en siadv.com
Vie Ene 20 10:52:37 CET 2006


Hernán, dime por favor como le puedo pasar a C# un nombre de una función 
Python para que la ejecute, sin usar Python.Runtime. Hasta ahora todo lo que 
me dijiste va de maravilla.

Un saludo,
Catalin

----- Original Message ----- 
From: "Hernán MF" <hernan en orgmf.com.ar>
To: "La lista de python en castellano" <python-es en aditel.org>
Sent: Thursday, January 19, 2006 1:55 PM
Subject: RE: [Python-es] .NET


>> Me puede alguien aclarar una duda sobre el funcionamiento de los
>> delegados en Python .NET Pues, en IronPython lo hacía de la siguiente
>> forma:
>>
>> def handler(*args):
>>    print "OK"
>>
>> b=mi_forma.mi_boton
>> b.Click += handler
>>
>> En Python .NET sigo el ejemplo del tutorial:
>>  #instantiate a delegate
>> d = AssemblyLoadEventHandler(handler)
>>
>> # use it as an event handler
>> AppDomain.CurrentDomain.AssemblyLoad += d
>>
>> En ningún sitio no veo como asignarle el delegado al objeto grafico.
>> Puedo encontrar algunos ejemplos de uso, porque el manual es muy
>> pobre.
>
> Lo que muestra el tutorial de Python.NET es un
> ejemplo de la sintaxis de eventos y delegados.
> Vale para cualquier tipo de eventos y en este caso
> especifico lo que muestra es como colgarse del evento que
> se dispara cuando .NET carga un ensamblado.
>
> En fin, que es igual a que si lo hicieras en IronPython
> o en C#.
>
>   >>> from CLR.System.Windows.Forms import Button
>   >>> def f(*args):
>   ...     print "clic"
>   ...
>   >>> b = Button()
>   >>> b.Click+=f
>   >>> e = CLR.System.EventArgs()
>   >>> b.OnClick(e)
>   clic
>   >>>
>
> Las dos últimas llamadas las puse para imitar el clic de
> un boton.  En tu aplicación real no hacen falta.
>
> Yo te recomendaría que usaras la documentación oficial
> de .NET y traducir mentalmente el código C# de ejemplo
> por el de Python.  No creas que es una deficiencia
> de la doc de Python.NET solamente.  Por ejemplo, en
> la doc oficial de Microsoft sobre el evento AssemblyLoad
> encontrarás ejemplos de código en C#, VBasic y C++ pero
> no de JScript (y este último *también* es un lenguaje
> .NET de Microsoft.)
>
> También te podrían ayudar los tests de regresión de
> Python.NET (están instalados bajo el directorio src\tests)
> que te servirían para ver las equivalencias entre las
> construcciones en Python.NET y C#
>
> -H.
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es 




Más información sobre la lista de distribución Python-es