首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类型别名定义类型别名

使用类型别名定义类型别名
EN

Stack Overflow用户
提问于 2017-08-17 13:07:42
回答 1查看 1.3K关注 0票数 3

作为一个狂热的DRY信徒(不要重复自己),我刚刚写了以下代码:

代码语言:javascript
复制
Imports SimpleDict = System.Collections.Generic.Dictionary(Of String, String)
Imports ListOfSimpleDicts = System.Collections.Generic.List(Of SimpleDict)
Imports DictOfSimpleDicts = System.Collections.Generic.Dictionary(Of String, SimpleDict)

我立即得到错误,“类型'SimpleDict‘是没有定义的。”在最后两行。有没有办法避免在我这类化名中重复自己?

增编24小时后,我不得不将SimpleDict改为别名字典( String,HashSet)。好消息是,由于我使用的是别名,所以我的更改会传播到我使用过的任何地方,但不幸的是,我仍然需要自己更改另外两行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-19 03:45:53

从VB规范

Imports语句使源文件中的名称可用,但不要在全局命名空间的声明空间中声明任何内容。Imports语句导入的名称的范围扩展到源文件中包含的命名空间成员声明。Imports语句的范围不包括其他Imports语句,也不包括其他源文件。Imports语句之间不能相互引用. 在本例中,最后一个Imports语句出错,因为它不受第一个导入别名的影响。 导入R1 = N1‘OK。导入R2 = N1.N2‘OK。Imports R3 = R1.N2‘Error:不能引用R1。

我不知道你能做些什么。我唯一能想到的就是将SimpleDict定义为一个System.Collections.Generic.Dictionary(Of String, String)类,不确定这对您是否理想,因为您必须创建一个类。

代码语言:javascript
复制
Imports ListOfSimpleDicts = System.Collections.Generic.List(Of RootNamespace.SimpleDict)
Imports DictOfSimpleDicts = System.Collections.Generic.Dictionary(Of String, RootNamespace.SimpleDict)

Public Class SimpleDict
    Inherits System.Collections.Generic.Dictionary(Of String, String)
End Class
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45735987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档