将 C# Ctor 翻译成 Vb.Net 等价物

Translate C# Ctor to Vb.Net equivalent

我从 Windows API CodePack:

中获取了这个结构定义
public struct IconReference
{
    //...

    public IconReference(string moduleName, int resourceId)
        : this()
    {
        //...
    }

    public IconReference(string refPath)
        : this()
    {
        //...
    }

    //...
}

问题是我不明白如何将这些构造函数翻译成 Vb.Net。

: this() 的确切含义是什么?

当我使用在线代码翻译器时,它会将其翻译为 Me.New(),但是,这在编译时失败,因为该结构没有无参数构造函数。

C#中的this()调用无参数构造函数。由于 C# 中没有无参数构造函数(并且结构甚至不能包含 "explicit parameterless constructors"),因此可以省略 this().

VB.NET 代码也是如此。您可以省略 Me.New() 代码。

需要此语法,因为 IconReference 有一个 "automatically implemented property":

  public int ResourceId { get; set; }

另见