代码之家  ›  专栏  ›  技术社区  ›  ysap

如何初始化包含结构和简单元素混合的结构对象?

  •  1
  • ysap  · 技术社区  · 7 年前

    使用VB.NET 2017,我声明了一个有两个成员的结构,其中一个是结构,另一个是字符串,如下所示:

    Structure InpFile
        Dim name As String
        Dim reader As StreamReader
        Dim lineIn As String
        Dim lineNum As Integer
    End Structure
    
    Structure Opts
        Dim fin As InpFile
        Dim name As String
    End Structure
    

    一个类型的对象 Opts 在声明时初始化?

    例如,一次尝试不起作用:

    Dim obj as Opts = {.fin.name = "filename.txt", .fin.lineNum = 0, .name = "JohnnyMnemonic"}
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   the_lotus    7 年前

    你必须使用 With 陈述。

    Dim obj As New Opts With {.fin = New InpFile With {.name = "filename.txt", .lineNum = 0}, .name = "JohnnyMnemonic"}