Re: Why properties cannot be used as ref or out arguments

Barry Kelly <[email protected]> Mon, 10 Mar 2008 10:57:42 +0000
Newsgroups gmane.comp.windows.devel.dotnet.clr
Message-ID <[email protected]>
Dean Cleaver <[email protected]> wrote:

> Problem is my variables are of differing types... not that I can tell
> from your code snippet, but It seems they are expected to be the same
> type?

Erlang is dynamically typed. However, more generally, tuples are
structurally typed, and each field can have a separate type - that's
what makes them different to arrays. In statically typed functional
languages, where tuples are common, the type of e.g. ("Barry", "Kelly")
would be (String, String).

> -----Original Message-----
> From: Discussion of development on the .NET platform using any managed
> language [mailto:[email protected]] On Behalf Of Jon Skeet
> Sent: Monday, 10 March 2008 22:56
> To: [email protected]
> Subject: Re: [DOTNET-CLR] Why properties cannot be used as ref or out
> arguments
>=20
> Dean Cleaver wrote:
> > Yeah - getting my head around it now. Sadly, it's not VB I wanted it
> > for.
> >
> > Is a shame- looks like I will have to declare 2 variables, pass them
> in,
> > and then analyse the returned responses to achieve what I want - =
takes
> > the "ideal" 1 line call to about 7 or 8 at least - was trying to
> > encapsulate a call, but it might not be feasible.
>=20
> Sounds like an argument for tuple return types:
>=20
> (FirstNameProperty, LastNameProperty) =3D SplitName(FullName);
>=20
> :)
>=20
> (Can you tell I've been learning Erlang? ;)
>=20
> I've no idea how much work is required either in terms of language
> design or CLR modifications to support this - I suspect it would be
> feasible in "language only" but a lot more elegant with CLR =
integration.
>=20
> Jon
>=20
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> This list is hosted by DevelopMentor(r)  http://www.develop.com
>=20
> View archives and manage your subscription(s) at
> http://discuss.develop.com
>=20
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> This list is hosted by DevelopMentor=AE  http://www.develop.com
>=20
> View archives and manage your subscription(s) at =
http://discuss.develop.com

-- Barry

--=20
http://barrkel.blogspot.com/

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
This list is hosted by DevelopMentor=AE  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com