Re: Why properties cannot be used as ref or out arguments
Dean Cleaver <[email protected]> Tue, 11 Mar 2008 00:12:33 +1300
| Newsgroups | gmane.comp.windows.devel.dotnet.clr |
|---|---|
| Message-ID | <4543A775711185429E59B18055D41674232262@sxslakl004.xceptionsoftware.com> |
Could cut the 10 lines down to about 7, but still won't change the fact that it's not a one line function call. Particularly because the two properties I need changed are interlinked - myobject.Property and myObject.PropertyIsNull. And it returns a Boolean depending on whether or not there was an error, which is independent of the above two properties, but of course those properties are closely tied. This is in a project of about 500,000 lines of code, so I don't want to just use nullable properties as there is too much code to check over. Dino -----Original Message----- From: Discussion of development on the .NET platform using any managed language [mailto:[email protected]] On Behalf Of Shawn Wildermuth Sent: Tuesday, 11 March 2008 00:06 To: [email protected] Subject: Re: [DOTNET-CLR] Why properties cannot be used as ref or out arguments I know its not terribly efficient, but couldn't you return a simple struct or anonymous type with the multiple pieces of information? Thanks, Shawn Wildermuth http://adoguy.com http://wildermuthconsulting.com http://geekdinners.com Microsoft MVP (C#), MCSD.NET, Author and Speaker The Silverlight Tour is coming to a city near you! -----Original Message----- From: Discussion of development on the .NET platform using any managed language [mailto:[email protected]] On Behalf Of Dean Cleaver Sent: Monday, March 10, 2008 7:00 AM To: [email protected] Subject: Re: [DOTNET-CLR] Why properties cannot be used as ref or out arguments Heh - cool - but as this website is entirely C#, I can't see Erlang being of use, but the concept is interesting :) Dino -----Original Message----- From: Discussion of development on the .NET platform using any managed language [mailto:[email protected]] On Behalf Of Barry Kelly Sent: Monday, 10 March 2008 23:58 To: [email protected] Subject: Re: [DOTNET-CLR] Why properties cannot be used as ref or out arguments 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 > > 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. > > Sounds like an argument for tuple return types: > > (FirstNameProperty, LastNameProperty) =3D SplitName(FullName); > > :) > > (Can you tell I've been learning Erlang? ;) > > 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. > > Jon > > = =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 > > View archives and manage your subscription(s) at > http://discuss.develop.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(r) http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com -- Barry -- 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(r) http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.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. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.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(r) http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.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