我从 Windows API CodePack :
中获取了此结构定义public struct IconReference
{
//...
public IconReference(string moduleName, int resourceId)
: this()
{
//...
}
public IconReference(string refPath)
: this()
{
//...
}
//...
}
问题是我不明白如何将这些构造函数转换为Vb.Net。
: this()
的含义究竟是什么?
当我使用在线代码翻译器时,它将其翻译为Me.New()
,但是,这在编译时失败,因为该结构没有无参数的ctor。
答案 0 :(得分:3)
C#中的this()
调用无参数构造函数。由于您在C#中没有无参数构造函数(并且结构甚至不能包含"显式无参数构造函数"),因此可以省略this()
。
对于VB.NET代码。您可以省略Me.New()
代码。
答案 1 :(得分:2)
需要使用此语法,因为IconReference具有"自动实现的属性":
public int ResourceId { get; set; }