有一段C#代碼,想轉換成vb.net的:
      public override Size MinimumSize
      {
         get
         {            
            return TextRenderer.MeasureText( Graphics.FromHwnd( Handle ), Text,
               Font, Size, _textFormatFlags );
         }
      }
我將其轉換成:
    Public Overloads Overrides ReadOnly Property MinimumSize() As Size
        Get
            Return TextRenderer.MeasureText(Graphics.FromHwnd(Handle), Text, Font, Size, _textFormatFlags)
        End Get
     End Property
總是會出錯,說什么"基類已寫成ReadOnly和WriteOnly",大概意思就是這樣子不能只有Get,沒有Set啦,各位應該都會明白的啦。然后,我將其改成如下:    Public Overloads Overrides Property MinimumSize() As Size
        Get
            Return TextRenderer.MeasureText(Graphics.FromHwnd(Handle), Text, Font, Size, _textFormatFlags)
        End Get
        Set(ByVal value As Size)        End Set
    End Property
是可以通過,問題是我想問:這樣子轉換是對?還是有問題?為什么C#可以Override?而VB卻不能只能Overload?

解决方案 »

  1.   

    Public Overrides Property MinimumSize() As Size
        Get
            Return TextRenderer.MeasureText(Graphics.FromHwnd(Handle), Text, Font, Size, TextFormatFlags.Default)
        End Get
        Set(ByVal value As System.Drawing.Size)
            MyBase.MinimumSize = value
        End Set
    End Property
      

  2.   

    C#和vb.net确实有一定差异的——不能完全的照搬这也是没有脾气的事情~~
      

  3.   

    http://www.developerfusion.co.uk/utilities/convertcsharptovb.aspx
    c#->vb.net网站,简单.
      

  4.   

    @zswang(伴水清清)(专家门诊清洁工)
    謝謝!@mythad()
    你試一下,看能否正確轉換上面的屬性不?@lovingkiss(*︻$▅▆▇◤ 沧浪翻涌剑留影,空留玉箫无人聆*) 
    呵呵...,是啊。
      

  5.   

    其實本人最主要的原因是用將一段C#寫的控件轉換成VB.NET版的,轉換過之后,在VS.NET工具欄上可以正常顯示,只是一拖進窗體中,就出現:Failed to Create Components 'myBox'
    因為我在轉上面的Property時不知如何轉換,不過,我按照上面
    “zswang(伴水清清)(专家门诊清洁工)”的話來做,還是沒有成功,仍然出現Failed to Create Components 'myBox'.這是什么原因呢?繼續期待兄弟們的解答。
      

  6.   

    Public Overloads Overrides ReadOnly Property MinimumSize() As Size
    Get
    Return TextRenderer.MeasureText(Graphics.FromHwnd(Handle), Text, Font, Size, _textFormatFlags)
    End Get
    End Property
    这是转换后的代码。
    我用过转换,大概转过2000行左右的代码,效果还可以,但是还是需要手工改一些。
    不知道你重写的哪个类,没法测试,你没自己试下么?