【问题标题】:Inline Definition and Declaration内联定义和声明
【发布时间】:2012-02-20 01:58:26
【问题描述】:

好的,我确定我对这个概念的措辞有误,但无论如何都是这样。

我知道在 CSharp 中你可以做到

el.AppendChild(new UISize(file, "TSize") { CX = 95, CY = 20 });

它声明一个临时存储桶变量,然后将关联属性值分配给该变量。然后将其发送到 XMLElement AppendChild 方法。

  1. 这个设计概念叫什么?
  2. 什么是转换为 VB.Net?

我尝试使用我自己的在线实用程序,该实用程序从 C# VB.Net 转换率为 90-95%。在这种情况下它失败了,因此需要动手将其从 C# 转换为 VB.Net。

如果可能的话,我真的希望不必对变量进行长时间的赋值声明。

【问题讨论】:

    标签: c# vb.net object-initializers


    【解决方案1】:

    这是在 C# 中使用对象初始化器。在 VB 中执行相同操作的语法略有不同

    var uiSize = new UISize(file, "TSize") { CY = 95, CY = 20 }; // C#
    Dim uiSize = New UISize(file, "TSize") With {.CX = 95, .CY = 20} ' VB
    

    当然,您也可以在方法调用中内联对象的实例化。

    someObject.SomeMethod(New UISize(file, "TSize") With {.CX = 95, .CY = 20})
    

    有关在 Visual Basic 中使用对象初始值设定项的更多信息,consult this documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2011-04-30
      • 1970-01-01
      相关资源
      最近更新 更多