Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中重写vb.net函数#_C#_.net_Vb.net_Overriding - Fatal编程技术网

C# 在C中重写vb.net函数#

C# 在C中重写vb.net函数#,c#,.net,vb.net,overriding,C#,.net,Vb.net,Overriding,我对这些简单的事情有点困惑。如何在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 =

我对这些简单的事情有点困惑。如何在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#:

一些需要检查的事项:

  • C#项目引用了VB项目
  • C#文件使用vb名称空间
  • C#类实际上来自VB类
    CSharpClass:TestClass

我刚刚测试了这个,它似乎有效。我的代码:

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

一些需要检查的事项:

  • C#项目引用了VB项目
  • C#文件使用vb名称空间
  • C#类实际上来自VB类
    CSharpClass:TestClass

Crystal ball说您忘了从VB类派生。Crystal ball说您忘了从VB类派生。