Banale, lo so... ma dopo 3 volte che riscrivo le stesse cose mi viene l'orticaria! 
E così intanto provo anche IMHO... 
    Sub WriteSimpleVBProperty()
        Dim propertyName As String = String.Empty
        Dim privateMember As String = String.Empty
        Dim propertyType As String = "String"
        propertyName = InputBox("Property name:", "WriteSimpleVBProperty", propertyName)
        privateMember = InputBox("Private member:", "WriteSimpleVBProperty", privateMember)
        propertyType = InputBox("Property type:", "WriteSimpleVBProperty", propertyType)
        Dim fx As New System.Text.StringBuilder
        fx.Append(String.Format("    Private {0} As {1}", privateMember, propertyType))
        Select Case propertyType.ToLower
            Case "string"
                fx.Append(" = String.Empty")
            Case "date", "datetime"
                fx.Append(" = DateTime.MinValue")
        End Select
        fx.Append(ControlChars.Cr)
        fx.Append(String.Format("    Public Property {0}() As {1}", propertyName, propertyType))
        fx.Append(ControlChars.Cr)
        fx.Append("        Get")
        fx.Append(ControlChars.Cr)
        fx.Append(String.Format("            Return {0}", privateMember))
        fx.Append(ControlChars.Cr)
        fx.Append("        End Get")
        fx.Append(ControlChars.Cr)
        fx.Append(String.Format("        Set(ByVal Value As {0})", propertyType))
        fx.Append(ControlChars.Cr)
        fx.Append(String.Format("            {0} = Value", privateMember))
        fx.Append(ControlChars.Cr)
        fx.Append("        End Set")
        fx.Append(ControlChars.Cr)
        fx.Append("    End Property")
        fx.Append(ControlChars.Cr)
        DTE.ActiveDocument.Selection.TopPoint.CreateEditPoint.Insert(fx.ToString)
        fx = Nothing
    End Sub
powered by IMHO