相关疑难解决方法(0)

.NET中是否有只读通用字典?

我在我的只读属性中返回对字典的引用.如何防止消费者更改我的数据?如果这是一个IList我可以简单地返回它AsReadOnly.我能用字典做些什么吗?

Private _mydictionary As Dictionary(Of String, String)
Public ReadOnly Property MyDictionary() As Dictionary(Of String, String)
    Get
        Return _mydictionary
    End Get
End Property
Run Code Online (Sandbox Code Playgroud)

.net dictionary readonly

185
推荐指数
6
解决办法
7万
查看次数

使用与模板位于同一项目中的T4模板中的类型

我正在研究我的第一个T4代码生成工具,为我的项目添加一些存储过程帮助程序代码.我已经创建了自定义类型(例如StoredProcedure,StoredProcedureParameter以帮助我生成代码,并在我的代码中包含了程序集和命名空间引用:

<#@ template debug="false" hostspecific="false" language="VB" #>
<#@ output extension=".generated.vb" #>
<#@ assembly name="$(TargetPath)" #>
<#@ import namespace="StoredProcCodeGenerator" #>
Run Code Online (Sandbox Code Playgroud)

这允许我在我的T4模板代码中使用我的自定义类型.但是,因为我的自定义类型与T4模板代码存在于同一个项目中,所以在运行模板代码而不重新启动Visual Studio时,我无法重新编译项目.这不是很有趣.

我读了一篇很棒的文章,通过使用T4工具箱解决了这个问题,但是它没有用.要么我执行VolatileAssembly指令错误,要么T4工具箱根本没有安装.我不确定工具箱是否正确安装(我在Win XP上使用VS 2010).

有什么方法可以解决这个问题?

.net c# vb.net t4 code-generation

21
推荐指数
1
解决办法
8418
查看次数

标签 统计

.net ×2

c# ×1

code-generation ×1

dictionary ×1

readonly ×1

t4 ×1

vb.net ×1