从C#转换为VB.NET

时间:2009-08-15 04:22:38

标签: c# vb.net

http://wiki.team-mediaportal.com/MediaPortal1_Development/PluginDevelopersGuide#Appendix_A:_complete_source_code_of_the_plugin

尝试将第一个“测试”代码转换为VB.NET,但它不起作用。它编译正常,但不会按计划工作。

我猜它与“Implements”-statement或与该类如何处理接口有关的其他事情有关。作为一个全新的.NET程序员,我真的需要你的帮助来弄清楚它为什么不起作用。以下是转换和编辑的代码:

Imports System
Imports System.Windows.Forms
Imports MediaPortal.GUI.Library
Imports MediaPortal.Dialogs

Namespace OurPlugin
    Public Class Class1
#Region "ISetupForm Members"
        Inherits GUIWindow
        Implements ISetupForm

        Public Sub New()

        End Sub

        ' Returns the name of the plugin which is shown in the plugin menu
        Public Function PluginName() As String Implements MediaPortal.GUI.Library.ISetupForm.PluginName
            Return "MyFirstPlugin"
        End Function

        ' Returns the description of the plugin is shown in the plugin menu
        Public Function Description() As String Implements MediaPortal.GUI.Library.ISetupForm.Description
            Return "My First Plugin"
        End Function

        ' Returns the author of the plugin which is shown in the plugin menu
        Public Function Author() As String Implements MediaPortal.GUI.Library.ISetupForm.Author
            Return "YourNameHere"
        End Function

        ' show the setup dialog
        Public Sub ShowPlugin() Implements MediaPortal.GUI.Library.ISetupForm.ShowPlugin
            MessageBox.Show("Nothing to configure, this is just an example")
        End Sub

        ' Indicates whether plugin can be enabled/disabled
        Public Function CanEnable() As Boolean Implements MediaPortal.GUI.Library.ISetupForm.CanEnable
            Return True
        End Function

        ' Get Windows-ID
        Public Function GetWindowId() As Integer Implements MediaPortal.GUI.Library.ISetupForm.GetWindowId
            ' WindowID of windowplugin belonging to this setup
            ' enter your own unique code
            Return 5678
        End Function

        ' Indicates if plugin is enabled by default;
        Public Function DefaultEnabled() As Boolean Implements MediaPortal.GUI.Library.ISetupForm.DefaultEnabled
            Return True
        End Function

        ' indicates if a plugin has it's own setup screen
        Public Function HasSetup() As Boolean Implements MediaPortal.GUI.Library.ISetupForm.HasSetup
            Return True
        End Function

        ''' <summary>
        ''' If the plugin should have it's own button on the main menu of MediaPortal then it
        ''' should return true to this method, otherwise if it should not be on home
        ''' it should return false
        ''' </summary>
        ''' <param name="strButtonText">text the button should have</param>
        ''' <param name="strButtonImage">image for the button, or empty for default</param>
        ''' <param name="strButtonImageFocus">image for the button, or empty for default</param>
        ''' <param name="strPictureImage">subpicture for the button or empty for none</param>
        ''' <returns>true : plugin needs it's own button on home
        ''' false : plugin does not need it's own button on home</returns>

        Public Function GetHome(ByRef strButtonText As String, ByRef strButtonImage As String, ByRef strButtonImageFocus As String, ByRef strPictureImage As String) As Boolean Implements MediaPortal.GUI.Library.ISetupForm.GetHome
            strButtonText = [String].Empty
            strButtonImage = [String].Empty
            strButtonImageFocus = [String].Empty
            strPictureImage = [String].Empty
            Return False
        End Function

        ' With GetID it will be an window-plugin / otherwise a process-plugin
        ' Enter the id number here again
        Public Overloads Overrides Property GetID() As Integer
            Get
                Return 5678
            End Get

            Set(ByVal value As Integer)
            End Set
        End Property

#End Region

    End Class
End Namespace

[编辑]

只是澄清一下。从上面粘贴的网址中我发现我的锚点不正确。我没有测试完整的源代码,只是测试了此网址中的第一个“测试代码”:http://wiki.team-mediaportal.com/MediaPortal1_Development/PluginDevelopersGuide#Implementing_GUIWindow_and_ISetupForm

我遇到的问题是它不会在MediaPortal中显示为插件。 C#中的样本完美无缺。感觉就像我需要在进入GUI部分之前完成这项工作。我不知道如何测试这个,因为它需要作为插件加载到MediaPortal中以查看它是否正常工作。

1 个答案:

答案 0 :(得分:0)

关于快速比较的说明:

  1. 您没有定义buttonOne或buttonTwo
  2. 代码中缺少整个Init方法
  3. 我不知道GetID是5678是否具有重要意义,但值得研究更多关于你的结论