C# 如何在vb.net中向构造函数传递接口

C# 如何在vb.net中向构造函数传递接口,c#,vb.net,interface,constructor,C#,Vb.net,Interface,Constructor,我正在尝试将一些代码从c#转换为vb.net。整个代码都在里面。我几乎有它,但我遇到了一个与构造函数的问题。在C#中,它传递一个接口。像下面这样 public StackedHeaderDecorator(IStackedHeaderGenerator objStackedHeaderGenerator, DataGridView objDataGrid) : this(objDataGrid) { this.objStackedHeaderGen

我正在尝试将一些代码从c#转换为vb.net。整个代码都在里面。我几乎有它,但我遇到了一个与构造函数的问题。在C#中,它传递一个接口。像下面这样

    public StackedHeaderDecorator(IStackedHeaderGenerator objStackedHeaderGenerator, DataGridView objDataGrid)
        : this(objDataGrid)
    {
        this.objStackedHeaderGenerator = objStackedHeaderGenerator;
    }

我不知道如何将其转换为vb.net。如果有人能告诉我如何编写代码将整数面传递给构造函数,我将不胜感激。

传递接口引用就像传递任何类型:

Sub New(objStackedHeaderGenerator As IStackedHeaderGenerator, objDataGrid As DataGridView)

    Me.New(objDataGrid)

    Me.objStackedHeaderGenerator = objStackedHeaderGenerator

End Sub

传递接口引用就像传递任何类型一样:

Sub New(objStackedHeaderGenerator As IStackedHeaderGenerator, objDataGrid As DataGridView)

    Me.New(objDataGrid)

    Me.objStackedHeaderGenerator = objStackedHeaderGenerator

End Sub

你试了什么?您有什么问题?请参考您对@DStanley答案的评论,显示您的VB.Net类的类声明?您尝试了什么?你有什么问题?参考你对@DStanley答案的评论,请显示VB.Net类的类声明?感谢您的帮助,但当我尝试这样做并收到以下错误消息时:“objStackedHeaderGenerator”无法通过类“StackedHeaderDecorator”@GregoryWillams在项目外部公开类型“IsTackedHeaderGenerator”,这是您应该添加到问题中的重要信息!我猜这个构造函数所属的类被标记为Public,而IStackedHeaderGenerator被标记为Friend/Private/Protected。这意味着IStackedHeaderGenerator也是公共的,而不是编译器所抱怨的。是关于这个问题的文件。听起来这个接口是私有的,但如果看不到源代码,就很难说了。正如@jeroenh所说,这将是一个很好的后续问题。当然,在您做了一些研究之后:)谢谢您的帮助,但当我尝试这样做并得到以下错误消息时:“objStackedHeaderGenerator”无法通过类“StackedHeaderDecorator”@GregoryWillams在项目外部公开类型“IsTackedHeaderGenerator”,这是您应该添加到问题中的重要信息!我猜这个构造函数所属的类被标记为Public,而IStackedHeaderGenerator被标记为Friend/Private/Protected。这意味着IStackedHeaderGenerator也是公共的,而不是编译器所抱怨的。是关于这个问题的文件。听起来这个接口是私有的,但如果看不到源代码,就很难说了。正如@jeroenh所说,这将是一个很好的后续问题。当然,在你做了一些研究之后:)