2013-06-05 18 views
5

Ho bisogno di aiuto su una linea con la traduzione di questo codice:Come tradurre questa riga di codice da C# a Visual Baisc

originale in C#:

using System.Collections.ObjectModel; 
using Microsoft.Maps.MapControl; 

namespace Binding_Bing_Map_Control.Modal 
{ 
public class MapModal 
{ 
    public Location MapLocation { get; set; } 
    public string TooltipText { get; set; } 

    public static ObservableCollection<MapModal> getMapRecords() 
    { 
     ObservableCollection<MapModal> MapRecords = new ObservableCollection<MapModal>(); 
     MapRecords.Add(new MapModal() { MapLocation = new Location(47.610015, -122.188362), TooltipText = "Main St, Bellevue, WA 98004" }); 
     MapRecords.Add(new MapModal() { MapLocation = new Location(47.603562, -122.329496), TooltipText = "James St, Seattle, wa 98104" }); 
     MapRecords.Add(new MapModal() { MapLocation = new Location(47.609355, -122.189970), TooltipText = "Main St, Bellevue, WA 98004-6405" }); 
     MapRecords.Add(new MapModal() { MapLocation = new Location(47.615820, -122.238973), TooltipText = "601 76th Ave, Medina ,WA 98039" }); 
     return MapRecords; 
    } 
} 
} 

Traduzione a VB:

Imports System.Collections.ObjectModel 
Imports Microsoft.Maps.MapControl 

Namespace Map_Control.Modal 

Public Class MapModal 

    Public Property Location As WPF.Location 
    Public Property TooltipTex As String 

    Public Function getMapRecors() As ObservableCollection(Of MapModal) 
     Dim MapRecords As New ObservableCollection(Of MapModal) 
     MapRecords.Add(New MapModal() {Location = New WPF.Location(47, -122), TooltipTex = "Sample tooltiptext!"}) 
     Return MapRecords 
    End Function 

End Class 

End Namespace 

ottengo l'errore in linea:

MapRecords.Add(New MapModal() {Location = New WPF.Location(47, -122), TooltipTex = "Sample tooltiptext!"}) 

Errore: valore di tipo Boolean non può essere convertito in WindowsApplication1.Map_Control.Modal.MapModal

Per chiarire cosa sto facendo. Sto cercando di creare un'applicazione wpf e utilizzare le mappe bing. Sto seguendo il codice da questo link., ma non sto usando Silverlight e sto codificando in VB.

+1

+1 per una questione di traduzione che è specifico, ben documentato e non semplicemente dicendo "converti il ​​mio codice per me". –

+0

+1 - uguale a @Evanlewis - Inoltre è utile come una domanda per collegare altre domande di traduzione a – Sayse

+0

Penso che tutti siano venuti qui in attesa di un'altra domanda "convertire tutto questo codice per me" – SysDragon

risposta

5

provare qualcosa di simile:

MapRecords.Add(New MapModal() With {.Location = New WPF.Location(47, -122), .TooltipTex = "Sample tooltiptext!"}) 
+0

Grazie, Medinoc, l'ha risolto. – micco

1

Credo che il problema è qui:

public Location MapLocation { get; set; } 

Questa linea non può essere tradotto in

Public Property Location As WPF.Location 

penso che stai scherzi con classe Location. Si noti che non vi è un tale riferimento allo spazio dei nomi WPF nella versione C#.

+0

Sto usando Riferimenti diversi. In originale i punti di riferimento a 'silverlight maps api' dove sto usando 'wpf maps api'. – micco

1

L'oggetto initialiazer sintassi è diversa in VB.Net - ho usato an online translator e ottenuto questo:

Imports System.Collections.ObjectModel 
Imports Microsoft.Maps.MapControl 

Namespace Binding_Bing_Map_Control.Modal 
    Public Class MapModal 

     Public Property Location As Location 
     Public Property TooltipTex As String 

     Public Shared Function getMapRecords() As ObservableCollection(Of MapModal) 
      Dim MapRecords As New ObservableCollection(Of MapModal)() 
      MapRecords.Add(New MapModal() With { _ 
       Key .MapLocation = New Location(47.610015, -122.188362), _ 
       Key .TooltipText = "Main St, Bellevue, WA 98004" _ 
      }) 
      MapRecords.Add(New MapModal() With { _ 
       Key .MapLocation = New Location(47.603562, -122.329496), _ 
       Key .TooltipText = "James St, Seattle, wa 98104" _ 
      }) 
      MapRecords.Add(New MapModal() With { _ 
       Key .MapLocation = New Location(47.609355, -122.18997), _ 
       Key .TooltipText = "Main St, Bellevue, WA 98004-6405" _ 
      }) 
      MapRecords.Add(New MapModal() With { _ 
       Key .MapLocation = New Location(47.61582, -122.238973), _ 
       Key .TooltipText = "601 76th Ave, Medina ,WA 98039" _ 
      }) 
      Return MapRecords 
     End Function 
    End Class 
End Namespace