DyslexicDev (Martin Hinshelwood's Blog)

A Scottish dyslexic software developer: Team System MVP, .NET architect, developer, evangelist, technology enthusiast and multi-dimensional free thinker
posts - 392, comments - 518, trackbacks - 57

My Links

News

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.




TwitterCounter for @hinshelm



Locations of visitors to this page

Subscribe

Personal

Twitter












Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

Blogs I read

Blogs of Friends

Personal

Projects

VSTS

Returning an Anonymous type...

image In VB.NET it is actually possible to return an Anonymous type from a function and use it somewhere else. In VB.NET you need to use late binding so you can't change the "Option strict" compiler option to true as I have always done in the past. This option, that defaults to "Off", is the main reason that C# developers scoff at VB, but this feature is now available, controversially in C#.

In this example I created an anonymous type that has three properties.

    Public Function GetTwiterCredentials() As Object
        If Not My.Settings.TwitterEmail.Length > 3 Then
            GetSettings()
        End If
        If Not My.Settings.TwitterPassword.Length > 3 Then
            GetSettings()
        End If
        If Not My.Settings.TwitterUsername.Length > 3 Then
            GetSettings()
        End If
        Return New With { _
                    .Email = My.Settings.TwitterEmail, _
                    .Password = My.Settings.TwitterPassword, _
                    .Username = My.Settings.TwitterUsername _
                        }
    End Function

The use of this is very simple, although I would like an option other than to return "Object" so Visual Studio knows that it is an anonymous type.

            Dim TwiterCredentials = View.GetTwiterCredentials
            Dim result As String = ""
            result = Twitter.TwitterAPI.UpdateStatus( _
                                    status, _
                                    TwiterCredentials.Email, _
                                    TwiterCredentials.Password _
                                    )

There is no intellisense with this, so you have to know what the options are. Hopefully in future versions this will be rectified.

 

Print | posted on Monday, January 07, 2008 9:50 AM | Filed Under [ .NET ]

Comments have been closed on this topic.

Powered by: