gpt4 book ai didi

vb.net - VB.NET 中 typedef 的等效项或解决方法是什么?

转载 作者:行者123 更新时间:2023-12-04 08:28:28 27 4
gpt4 key购买 nike

我正在编写一个 VB.NET 应用程序,它大量处理集合类型。请参阅下面的代码:

Dim sub_Collection As System.Collections.Generic.Dictionary(Of String, 
System.Collections.ObjectModel.Collection)

我必须多次输入上面的行。如果我更改了集合类型,那么我必须对所有实例进行更改。因此,如果有一种方法可以使用“typedef 等效项”,那么我可以摆脱所有这些问题。我尝试使用导入,但它仅用于命名空间,不能用于类。任何帮助之手将不胜感激。

注意:我使用的是 VB 2008,Windows XP。应用程序类型为 windows 窗体(VB)。

编辑:
我根据下面的 code_gray 答案做了一些尝试。

这是第一次尝试。
Imports dictionary_WaterBill = System.Collections.Generic.Dictionary(Of String, System.Collections.ObjectModel.Collection(Of WaterBill))
Structure WaterBill
...
...
End Structure

我得到的错误是
Error:Type 'WaterBill' is not defined.

这是尝试2。
Structure WaterBill
...
...
End Structure
Imports dictionary_WaterBill = System.Collections.Generic.Dictionary(Of String,
System.Collections.ObjectModel.Collection(Of WaterBill))

我得到的错误是
Error:'Imports' statements must precede any declarations.

欢迎任何人就这个问题发表看法。

最佳答案

简单的解决方案是简单地添加一个 Imports statement对于您正在使用的两个命名空间。马上,这消除了一半的长类型标识符。

在代码文件的顶部,放置以下几行:

Imports System.Collections
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

然后您的声明可以更改为:
Dim sub_Collection As Dictionary(Of String, Collection)

我推荐这种方法,因为它仍然使用标准名称,这使您的代码易于其他程序员阅读。

另一种方法是使用 Imports声明别名的语句。就像是:
Imports GenericDict = System.Collections.Generic.Dictionary(Of String,
System.Collections.ObjectModel.Collection)

然后您可以将您的声明更改为:
Dim sub_Collection As GenericDict

*** 顺便说一句,为了编译这些样本中的任何一个,您必须为 Collection 指定一个类型。 ,例如 Collection(Of String) .

关于vb.net - VB.NET 中 typedef 的等效项或解决方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8599994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com