Thanks a lot Lukáš that gets me past this issue.

On Fri, Dec 18, 2009 at 9:00 PM, Lukas Cenovsky <[email protected]>wrote:

> Hi,
> I haven't tried your code, but there are currently 2 small issues with
> clrtype.py I know of:
>
> 1. You cannot use iterable for @returns and @accepts - see
> http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=25448 I think
> your issue is similar.
>
> 2. You cannot use Python classes with clrtype.ClrClass metaclass in
> @accepts and @returns.
>
> Both issues can be fixen in validate_clr_types function in clrtype.py. Here
> is my version:
>
> def validate_clr_types(signature_types, var_signature = False):
>     if not isinstance(signature_types, tuple):
>         signature_types = (signature_types,)
>     for t in signature_types:
>         clr_type = clr.GetClrType(t)
>         if t == Void:
>             raise TypeError("Void cannot be used in signature")
>         if clr.GetPythonType(clr_type) != t and \
>                 clr.GetPythonType(clr_type) != clr.GetPythonType(t):
>             raise Exception, "Invalid CLR type %s" % str(t)
>         if not var_signature:
>             if clr_type.IsByRef:
>                 raise TypeError("Byref can only be used as arguments and
> locals")
>             # ArgIterator is not present in Silverlight
>             if hasattr(System, "ArgIterator") and t == System.ArgIterator:
>                 raise TypeError("Stack-referencing types can only be used
> as arguments and locals")
>
> --
> -- Lukáš
>
> Simon Segal wrote:
>
>  I am curious as to how to define a System.Collections.Generic.ICollection
> as per the below with @clrtype.accepts and @clrtype.returns. Same question
> goes for _clrfields where I want an ICollection<T> (c#) as a field.
>
> @property
> @clrtype.accepts()
> @clrtype.returns(ICollection[Order])
> def Orders(self): return self._orders
>
> @Orders.setter
> @clrtype.accepts(ICollection[Order])
> @clrtype.returns()
> def Orders(self, value): self._orders = value
>
> Thanks,
>
> Simon
>
> ------------------------------
>
> _______________________________________________
> Users mailing 
> [email protected]http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>


-- 
Regards,

Simon Segal
MCSD, MCDBA, MCSE, MCTS - Biztalk

Mobile: 0414854913
Email: [email protected]
Web Site: http://www.simonsegal.net
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to