簡體   English   中英

在C#中覆蓋vb.net函數

[英]Override vb.net Function in C#

我對這件事情有點困惑。 如何在C#中覆蓋vb.net函數。 我在vb.net類的vb.net中編寫了這段代碼:

 Public Overridable Function Test1() As Integer
        Dim t1 As Integer
        Return t1
 End Function 

我想在通過vb.net類繼承的C#類中覆蓋它。 方法代碼如下。

    public override  int Test1()
    {
        int t1 = 2;
        return t1;
    }

我收到錯誤:沒有合適的方法來覆蓋。

我只是測試了它,它似乎工作。 我的代碼:

Public Class TestClass
    Public Overridable Function Test() As Integer
        Dim t1 as Integer
        Return t1
    End Function
End Class

C#:

using MyVBProject;

public class CSharpClass : TestClass
{
    public override int Test()
    {
       int t1 = 2;
       return t1;
    }
}

一些要檢查的事情:

  • C#項目引用了VB項目
  • C#文件正在using vb命名空間
  • C#類實際上派生自VB類CSharpClass : TestClass

這可能是因為要放置公共覆蓋,所有類都必須是公共的,相反,您可以嘗試編寫“受保護的覆蓋”而不是“公共覆蓋”。 否則,我認為你的問題是堆棧溢出問題鏈接到問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM