2013-06-05 8 views
5

ich Hilfe bei der Übersetzung diesen Code auf einer Linie müssen übersetzen:Wie diese Codezeile von C# in Visual Baisc

Original-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; 
    } 
} 
} 

Meine Übersetzung 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 

ich Fehler in Zeile:

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

Fehler: Wert des Typs Boolean kann nicht in WindowsApplication1.Map_Control.Modal.MapModal konvertiert werden.

Um zu verdeutlichen, was ich mache. Ich versuche, WPF-Anwendung zu erstellen und Bing-Maps zu verwenden. Ich folge Code von dieser link., aber ich benutze nicht Silverlight und ich bin in VB codieren.

+1

+1 für eine Übersetzung Frage, die spezifisch ist, gut dokumentiert und nicht einfach sagen "konvertiere meinen Code für mich". –

+0

+1 - selbe wie @Evanlewis - Plus es ist nützlich als eine Frage zu anderen übersetzen Fragen zu – Sayse

+0

Ich denke, jeder kam hier erwartet eine andere "konvertieren alle diesen Code für mich" Frage – SysDragon

Antwort

5

so etwas wie dieses Versuchen:

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

Danke Medinoc, das hat es gelöst. – micco

1

denke ich, ist das Problem hier:

public Location MapLocation { get; set; } 

Diese Linie kann nicht

Public Property Location As WPF.Location 

übersetzt Ich glaube, Sie mit Location-Klasse sind in Unordnung. Beachten Sie, dass in der C# -Version kein solcher Verweis auf den WPF-Namespace vorhanden ist.

+0

Ich verwende verschiedene Referenzen. Im Original verweist die Referenz auf 'silverlight maps api', wo ich 'wpf maps api' benutze. – micco

1

Das Objekt initialiazer Syntax unterscheidet sich in VB.Net - ich verwendet an online translator und bekam dies:

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