标签: readonly

为什么C#禁止只读局部变量?

与同事就此进行了友好的辩论.我们对此有一些想法,但想知道SO人群对此有何看法?

c# language-design readonly immutability

107
推荐指数
7
解决办法
2万
查看次数

如何使Readity实体框架数据上下文

我需要向第三方插件公开实体框架数据上下文.目的是允许这些插件仅获取数据,而不是让它们发出插入,更新或删除或任何其他数据库修改命令.因此,我如何只读取数据上下文或实体.

.net datacontext entity-framework readonly entity-framework-4

103
推荐指数
3
解决办法
4万
查看次数

Docker,以只读方式挂载卷

我正在使用Docker,我想安装一个变化很大的dyanmic文件夹(所以我不必为每个执行器生成docker,这会太昂贵),但我希望该文件夹只读.然而,将文件夹所有者更改为其他人的工作chown需要root访问权限,我不希望将其暴露给应用程序.

当我使用-vflag挂载时,它会提供我给出的任何用户名,我在docker镜像中创建了一个非root用户,但是卷中所有文件与所有者作为运行docker的用户,更改为我提供的用户命令行,所以我无法制作只读文件和文件夹.我怎么能阻止这个?

我还添加了mustafa ALL=(docker) NOPASSWD: /usr/bin/docker,所以我可以通过终端更改为另一个用户,但文件仍然拥有我的用户的权限.

readonly docker

97
推荐指数
2
解决办法
6万
查看次数

Objective-C中的只读属性?

我在我的界面中声明了一个readonly属性:

 @property (readonly, nonatomic, copy) NSString* eventDomain;
Run Code Online (Sandbox Code Playgroud)

也许我误解了属性,但我认为当你声明它时readonly,你可以在implementation(.m)文件中使用生成的setter ,但是外部实体不能改变它的值.这个问题说的是应该发生的事情.这就是我追求的行为.但是,当尝试使用标准setter或dot语法设置eventDomain我的init方法时,它会给我一个unrecognized selector sent to instance.错误.我当然是@synthesize属于该物业.试着像这样使用它:

 // inside one of my init methods
 [self setEventDomain:@"someString"]; // unrecognized selector sent to instance error
Run Code Online (Sandbox Code Playgroud)

我是否误解readonly了财产上的声明?或者还有其他事情发生了吗?

properties objective-c readonly

89
推荐指数
6
解决办法
9万
查看次数

参数可以不变吗?

我正在寻找与Java相当的C#final.它存在吗?

C#是否包含以下内容:

public Foo(final int bar);
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,bar是一个只读变量,不能更改Foo().有没有办法在C#中做到这一点?

比如,也许我还有很长的方法,将与其合作x,yz一些对象(整数)的坐标.我想绝对肯定该函数不会以任何方式改变这些值,从而破坏数据.因此,我想宣读它们.

public Foo(int x, int y, int z) {
     // do stuff
     x++; // oops. This corrupts the data. Can this be caught at compile time?
     // do more stuff, assuming x is still the original value.
}
Run Code Online (Sandbox Code Playgroud)

c# const parameter-passing readonly

79
推荐指数
6
解决办法
4万
查看次数

OneWayToSource绑定来自XAML中的readonly属性

我正在尝试Readonly使用OneWayToSourceas模式绑定到属性,但似乎无法在XAML中完成:

<controls:FlagThingy IsModified="{Binding FlagIsModified, 
                                          ElementName=container, 
                                          Mode=OneWayToSource}" />
Run Code Online (Sandbox Code Playgroud)

我明白了:

无法设置属性"FlagThingy.IsModified",因为它没有可访问的set访问器.

IsModified是只读DependencyPropertyFlagThingy.我想将该值绑定到FlagIsModified容器上的属性.

要明确:

FlagThingy.IsModified --> container.FlagIsModified
------ READONLY -----     ----- READWRITE --------
Run Code Online (Sandbox Code Playgroud)

这可能只使用XAML吗?


更新:嗯,我通过在容器上设置绑定而不是在容器上修复此情况FlagThingy.但我仍然想知道这是否可行.

data-binding wpf xaml readonly

77
推荐指数
3
解决办法
5万
查看次数

Django管理界面中的只读模型?

如何在管理界面中将模型完全只读?这是一种日志表,我使用管理功能进行搜索,排序,过滤等,但不需要修改日志.

如果这看起来像重复,这不是我想要做的:

  • 我不是在寻找只读字段(即使只读取每个字段仍会让你创建新记录)
  • 我不打算创建一个只读用户:每个用户都应该只读.

django readonly django-admin

77
推荐指数
9
解决办法
5万
查看次数

Python只读属性

我不知道什么时候属性应该是私有的,如果我应该使用属性.

我最近读到,setter和getter不是pythonic,我应该使用属性装饰器.没关系.

但是,如果我有属性,那么不能从类外部设置但可以读取(只读属性).这个属性应该是私有的,私有的我是指下划线,就像那样self._x?如果是,那么如何在不使用getter的情况下阅读它?我现在唯一知道的方法是写

@property
def x(self):
    return self._x
Run Code Online (Sandbox Code Playgroud)

这样我可以读取属性obj.x但我无法设置它obj.x = 1所以它没关系.

但是我真的应该关心设置不能设置的对象吗?也许我应该离开它.但是我再也不能使用下划线,因为obj._x用户读取很奇怪,所以我应该使用obj.x然后再次用户不知道他不能设置这个属性.

你有什么看法和实践?

python properties private readonly python-2.7

74
推荐指数
4
解决办法
8万
查看次数

如何实现只读属性

我需要在我的类型上实现只读属性.此外,此属性的值将在构造函数中设置,并且不会更改(我正在编写一个为WPF公开自定义路由UI命令的类,但这并不重要).

我认为有两种方法可以做到:

  1. class MyClass
    {
        public readonly object MyProperty = new object();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. class MyClass
    {
        private readonly object my_property = new object();
        public object MyProperty { get { return my_property; } }
    }
    
    Run Code Online (Sandbox Code Playgroud)

由于所有这些FxCop错误都说我不应该有公共成员变量,所以第二个似乎是正确的方法.正确?

在这种情况下,get only属性和只读成员之间是否有任何区别?

我将不胜感激任何意见/建议等.

c# properties readonly

73
推荐指数
7
解决办法
14万
查看次数

以只读模式在vim的选项卡中打开文件

我知道从shell使用readonly模式打开文件vim -R,但是如何:tabe <filename>在readonly模式的单独tab()中从vim内部打开文件?

谢谢你的时间.

vim tabs readonly

68
推荐指数
6
解决办法
4万
查看次数