草庐IT

Getter-Setter

全部标签

c#: setter/getter / setter/getter

我在某处看到类似下面的内容,想知道它是什么意思。我知道他们是getter和setter,但是想知道为什么字符串Type是这样定义的。谢谢你帮助我。publicstringType{get;set;} 最佳答案 那些是Auto-ImplementedProperties(简称自动属性)。编译器将自动生成以下简单实现的等价物:privatestring_type;publicstringType{get{return_type;}set{_type=value;}} 关于c#:setter/

c# - .NET 中的 Getter 和 Setter 声明

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个答案)关闭9年前。我想知道这些getter和setter声明之间的区别是什么,是否有首选方法(以及为什么)。第一个可以由VisualStudio自动生成。其他人呢?谢谢第一string_myProperty{get;set;}第二string_myProperty;publicstringmyProperty{get{return_myProperty;}set{_myProperty=value;}}第三string_myProperty;publicstringgetMyProp

c# - 为什么无法覆盖 getter-only 属性并添加 setter?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion为什么不允许使用以下C#代码:publicabstractclassBaseClass{publicabstractintBar{get;}}publicclassConcreteClass:BaseClass{publicoverrideintBar{get{return0;}set{}}}CS0546'ConcreteClass.Bar.set':cannotoverridebecau

c# - 好还是坏的做法?在 getter 中初始化对象

我似乎有一个奇怪的习惯……至少据我的同事说。我们一直在共同致力于一个小项目。我编写类的方式是(简化示例):[Serializable()]publicclassFoo{publicFoo(){}privateBar_bar;publicBarBar{get{if(_bar==null)_bar=newBar();return_bar;}set{_bar=value;}}}所以,基本上,我只在调用getter并且该字段仍然为空时初始化任何字段。我认为这可以通过不初始化任何不在任何地方使用的属性来减少过载。ETA:我这样做的原因是我的类有几个属性返回另一个类的实例,而另一个类又具有包含更多

c# - 如何从 getter 或 setter 调用异步方法?

在C#中从getter或setter调用异步方法的最优雅方法是什么?这里有一些伪代码来帮助解释我自己。asyncTaskMyAsyncMethod(){returnawaitDoSomethingAsync();}publicIEnumerableMyList{get{//callMyAsyncMethod()here}} 最佳答案 没有任何技术理由表明C#中不允许使用async属性。这是一个有目的的设计决定,因为“异步属性”是一种矛盾。属性应该返回当前值;他们不应该启动后台操作。通常,当有人想要一个“异步属性”时,他们真正想要的是

javascript - Angular 2 setter 与 ngOnChanges

当你想在组件/指令输入更改后运行一些代码时,你可以使用setter或ngOnChangesHook,但是在另一个上使用一个有什么好处?或者它们是完全一样的东西?@Input()setsomeInput(val){this.runSomething();}ngOnChanges(changes){this.runSomething();} 最佳答案 ngOnChanges()的一个优点是,如果您的组件有多个@Input(),您可以一次获得所有更改。如果您的代码仅依赖于单个@Input(),则setter可能是更好的方法。

javascript - javascript数组上的getter/setter?

有没有办法在数组上获取/设置行为?我想象这样的事情:vararr=['one','two','three'];var_arr=newArray();for(vari=0;i 最佳答案 使用Proxies,您可以获得所需的行为:var_arr=['one','two','three'];varaccessCount=0;functiondoSomething(){accessCount++;}vararr=newProxy(_arr,{get:function(target,name){doSomething();returntarg

javascript - 构造函数中的 getter/setter

我最近读到一个事实,即可以在JavaScript中定义getter/setter。这似乎非常有用-setter是一种“助手”,它可以在实际设置之前先解析要​​设置的值。例如,我目前有这样的代码:varobj=function(value){vartest=!!value;//'test'hastobeabooleanreturn{gettest(){returntest},settest(value){test=!!value}};};varinstance=newobj(true);此代码始终将value转换为bool值。因此,如果您编写instance.test=0,则instan

javascript - 确定 JavaScript 属性是否定义了 getter 或 setter?

是否有可能,给定一个对象和属性名称来确定该属性是使用getter还是setter定义的,或者它是否完全透明?如果属性上尚未定义getter/setter,我只想定义一个getter/setter。我需要它在WebKit/Firefox中工作。 最佳答案 我认为您正在寻找getOwnPropertyDescriptor? 关于javascript-确定JavaScript属性是否定义了getter或setter?,我们在StackOverflow上找到一个类似的问题:

javascript - 如何从另一个 vuex 模块访问 getter?

在vuexgetter中,我知道可以像这样从另一个vuex模块访问状态:pages:(state,getters,rootState)=>{console.log(rootState);}我怎样才能从另一个vuex模块访问getter而不是状态?我需要访问另一个名为filters的vuex模块,我试过这个:rootState.filters.activeFiltersactiveFilters是我的setter/getter,但这不起作用。使用rootState.filters.getters.activeFilters也不起作用。 最佳答案