问题标签 [readonly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
71772 浏览

.net - .NET 中是否有可用的只读通用字典?

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

0 投票
8 回答
9859 浏览

c# - 如何使引用类型属性“只读”

我有一个Bar包含引用类型的私有字段的类Foo。我想Foo在公共财产中公开,但我不希望财产的消费者能够改变Foo......但是它应该可以通过内部改变Bar,即我不能制作该领域readonly

所以我想要的是:

...这当然是无效的。我可以只返回一个Foo(假设它是IClonable)的克隆,但这对消费者来说并不明显。我应该将属性名称更改为FooCopy?? 它应该是一种GetCopyOfFoo方法吗?您认为最佳做法是什么?谢谢!

0 投票
1 回答
2811 浏览

sharepoint - InfoPath - 无法填写此表单....此表单的只读版本?

在我的项目中,我使用 InfoPath,并将它生成的 xml 存储在数据库中(通过 WS) - 所以一路上没有 SharePoint。

当我打开服务器的 InfoPath 表单时,它总是显示这个奇怪的消息:

无法填写此表单,原因可能是您没有足够的权限、另一个用户打开了该表单,或者该表单已在另一个程序中打开。您要打开此表单的只读版本吗?

单击是后 - InfoPath 将打开表单,让您进行所有更改,基本上按预期工作。这是让我需要摆脱的用户感到困惑的消息......

请注意,我没有安装任何 FrontPage 扩展(而且我不太可能安装这些扩展)。

感谢您的任何帮助!雅尔达

0 投票
3 回答
3085 浏览

perl - 如何使用 mod_perl 导出只读变量?

我试图通过创建一个导出本书中使用的几个标量的模块来更容易地遵循一些Perl 最佳实践。Constants特别是$EMPTY_STRING,我几乎可以在我编写的每个 Perl 脚本中使用它。我想要的是自动导出这些标量,这样我就可以使用它们而无需在每个脚本中明确定义它们。

一个示例用法:

使用上面的代码会产生错误:

如果我将Readonly声明更改为:

错误变为:

这对 mod_perl 来说是不可能的吗?

0 投票
3 回答
2140 浏览

c# - ReadOnlyAttribute 与 PropertyDescriptor.IsReadOnly()

PropertyDescriptor使用为方法返回值的 aIsReadOnly()和与 a 关联的有什么区别ReadOnlyAttribute

0 投票
3 回答
1162 浏览

c# - 如何覆盖列表.IsReadOnly 在 C# 中

我试图从 List 派生并有选择地打开和关闭IsReadOnly属性。我希望 Add/Remove/[] 函数会尊重这个属性,但他们没有。这样做的正确方法是什么?

我的派生类有一些额外的属性,所以很遗憾我不能将列表包装在 ReadOnlyCollection 中。

0 投票
1 回答
131 浏览

eclipse - 在 Eclipse 中将导出的类标记为不修改

在我的工作中,我确实有 SVN 结帐类和 SVN 导出类。我将这些类分成两个工作集。导出的类是另一个基于功能的项目的成员,我不允许在我的工作区中更改这些类。

当我想修复错误或实现新功能时,我想确定导出的类不会被触及。

我可以用一个标志标记导出的类,我不能在我的工作区中修改这些类。像只读这样的东西会有所帮助。有人知道现有解决方案存在类似问题吗?

谢谢

0 投票
4 回答
17756 浏览

asp.net - 为什么只读文本框在 ASP.NET 中不返回任何数据?

我已将文本框设置为只读。当用户单击它时,会显示一个日历,并且用户选择输入到只读文本框中的日期。

但是当我尝试将数据输入数据库时​​,它显示空值。怎么了?

0 投票
7 回答
11804 浏览

c# - C#中的常量字典

我在 C# 中有一个包含字典的类,只要包含它的类存在,我想创建它并确保从该字典中添加、编辑或删除任何内容。

readonly 并没有真正帮助,一旦我测试并看到我可以在之后添加项目。例如,我创建了一个示例:

我希望 Add 方法不起作用。如果可能的话,我希望它甚至不编译。有什么建议么?

实际上,我很担心它是开放给很多人更改的代码。因此,即使我隐藏了 Add 方法,也有可能有人“无辜地”创建一个添加密钥或删除另一个密钥的方法。我希望人们查看并知道他们不应该以任何方式更改字典。就像我使用 const 变量一样。

0 投票
4 回答
5972 浏览

c# - 如何返回集合的只读副本

我有一个包含集合的类。我想提供一个返回集合内容的方法或属性。如果调用类可以修改单个对象是可以的,但我不希望它们从实际集合中添加或删除对象。我一直在将所有对象复制到一个新列表中,但现在我想我可以将列表返回为 IEnumerable<>。

在下面的简化示例中,GetListC 是返回集合的只读版本的最佳方式吗?