问题标签 [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.
c# - 在 C# 中实现只读(不可变)对象接口
我的目标是确保在大多数情况下,对象是通过作为完整接口子集的“只读接口”使用的。
- 例如,如果我使用 C++,我将只返回一个
const
对象。 - 在 C# 中,如果我可以通过接口实现这一点,我只会实现一个只读接口并在任何地方使用它。但是,我需要运算符重载,这对于接口是不允许的。这就是为什么我必须使用抽象基类。
- 但是如果我定义了一个抽象基类,我就不能改变派生类型的可访问性。
那么,如何在 C# 中实现我的目标?
c# - 在打开之前检查文件是否已被使用(网络驱动器,C#)
.Net 中是否有任何方法可以在打开文件(在本地网络驱动器上)之前检查是否已在使用中?
c# - 为什么 readonly 和 volatile 修饰符是互斥的?
我有一个引用类型变量readonly
,因为引用永远不会改变,只会改变它的属性。当我尝试将volatile
修饰符添加到它时,编译器警告我它不会让两个修饰符都应用于同一个变量。但我认为我需要它是 volatile 的,因为我不想在读取它的属性时遇到缓存问题。我错过了什么吗?还是编译器错了?
更新正如 Martin 在以下评论之一中所述:对于引用类型的对象,readonly 和 volatile 修饰符都仅适用于引用,而不适用于对象的属性。这就是我所缺少的,所以编译器是正确的。
c# - C# 中的私有 const 和私有只读变量之间有区别吗?
private const
在 C# 中具有变量或变量之间是否有区别private static readonly
(除了必须分配const
编译时表达式)?
由于它们都是私有的,因此没有与其他库的链接。那么它会有什么不同吗?例如,它可以产生性能差异吗?实习字符串?有什么类似的吗?
c# - 限制对只读属性的方法调用的访问
我有一个类,它定义了一个有效公开私有字段的只读属性,如下所示:
现在消费者不可能直接管理我的财产,所以像 aContainer.MyList = new List(); 这样的代码 生成编译时错误。但是,消费者完全可以自由地调用他得到的引用的各种方法,所以这是完全有效的代码
哪种破坏了整个只读概念。
是否有任何健全的解决方法可以让我拥有真正的只读参考属性?
PS我不能只返回列表的副本,因为这样用户会认为他做了所有必要的更改,但是唉......他们会消失的。
c# - 为什么 C# 不允许只读局部变量?
与同事就这件事进行了友好的辩论。我们对此有一些想法,但想知道 SO 人群对此有何看法?
windows - 如何清除 Perl 文件中的只读标志?
我需要清除在 Windows 上运行的 Perl 程序中文件的只读标志。
我知道system("attrib -r $filename")
会起作用,但我想知道 Perl 中是否没有内置选项可以做到这一点。chmod 777, $filename
似乎不起作用。
谢谢,
分裂者
visual-studio - 有没有办法在 Visual Studio 中使代码区域“只读”?
每隔一段时间,我就完成了一段代码的修改,我想“锁定”或将代码区域设为“只读”。这样,我可以修改代码的唯一方法是先解锁它。有没有办法做到这一点?
.net - 更改文件的只读属性
我似乎无法更改文件上的只读标志。我已经在 Vista 和 XP 上尝试过,结果相同,所以我认为这不是 UAC 相关问题。
不过,我所做的一切似乎都不起作用。请参阅下面的示例。有人可以告诉我我做错了什么吗?
.net - 为什么 String.Empty 不是常数?
在 .NET 中,为什么String.Empty
只读而不是常量?我只是想知道是否有人知道该决定背后的原因。