草庐IT

flag_setter

全部标签

c# - 有没有理由拥有没有 setter/getter 的属性(property)?

我的经理问我使用带有setter而没有getter的属性是否是好的做法。publicclassPropertyWrapper{privateMyClass_field;publicMyClassProperty{set{_field=value;}}publicstringFirstProperty{get{return_field.FirstProperty;}}publicstringSecondProperty{get{return_field.SecondProperty;}}}他将使用其他属性来公开私有(private)字段中的属性,由该setter设置。我的建议是只使用私有

c# - 匿名类型属性 setter

为什么匿名类型没有属性setter?vara=new{Text="Hello"};a.Text="World";//error 最佳答案 匿名类型在设计上是不可变的。匿名类型旨在保存值,表示值的类型不应该是可变的。此外,这会使它们在字典中变得不可靠,因为哈希码在创建后可能会发生变化。许多LINQ方法都使用字典,尤其是在延迟求值的情况下,具有可变类型的LINQ可能会导致微妙的神秘错误。 关于c#-匿名类型属性setter,我们在StackOverflow上找到一个类似的问题:

c# - Autofac - 自动注册错误 : No constructors can be found with 'Public binding flags'

这是我的Global.asax.cspublicvoidRegisterContainersUsingAutofac(){//http://elegantcode.com/2009/01/07/ioc-libraries-compared///http://www.codeproject.com/Articles/25380/Dependency-Injection-with-Autofac//https://code.google.com/p/autofac///http://api.autofac.org/varbuilder=newContainerBuilder();build

c# - 在 C# 中与 getter 和 setter 接口(interface)

正如我在这里阅读的http://msdn.microsoft.com/en-us/library/75e8y5dd%28v=VS.100%29.aspx有可能在接口(interface)中有get而不是set吗?或者如果我想在接口(interface)中使用getter和setter,我是否必须使用旧语法getVarsetVar只是因为新语法不适合接口(interface)语法?更新:如果我必须在接口(interface)中省略set,这是否意味着我不能强制类拥有setter,这违背了在这种情况下拥有接口(interface)的目的,因为我只能部分强制执行?

c# - 将 setter 添加到覆盖中的属性

为什么在实现接口(interface)时允许更改属性中getter或setter的可见性和存在性?interfaceIFoo{stringBar{get;}}classRealFoo:IFoo{publicRealFoo(stringbar){this.Bar=bar;}publicstringBar{get;privateset;}}classStubFoo:IFoo{publicstringBar{get;set;}}...在实现抽象类时做同样的事情是不合法的?abstractclassAbstractFoo:IFoo{publicabstractstringBar{get;}}c

c# - Getter 无体,Setter 有

我有一个当前是自动的属性。publicstringMyProperty{get;set;}但是,我现在需要它在每次更改时执行一些操作,所以我想向setter添加逻辑。所以我想做类似的事情:publicstringMyProperty{get;set{PerformSomeAction();}}但是,这不会构建...MyProperty.get'必须声明一个主体,因为它没有标记为abstract、extern或partial我不能只让getter返回MyProperty,因为它会导致无限循环。有没有办法做到这一点,还是我必须声明一个私有(private)变量来引用?我宁愿不这样做,因为M

c# - 过滤掉 Type.GetMethods() 返回的自动生成的方法(getter/setter/add/remove/.etc)

我使用Type.GetMethods(BindingFlags.Instance|BindingFlags.Static|BindingFlags.Public|BindingFlags.NonPublic)检索给定类型的方法数组。问题是返回的MethodInfo可能包含编译器生成的方法,而我不想要这些方法。例如:propertyboolEnabled{get;将得到boolget_Enabled()事件SomethingChanged会得到add_SomethingChanged(事件处理程序)和remove_SomethingChanged(事件处理程序)我或许可以添加一些过滤逻辑

c# - 空 setter 与属性中没有 setter

这两个属性实现有什么区别?publicoverridestringA{get{return"s";}set{}}publicoverridestringA{get{return"s";}} 最佳答案 好吧,因为A是override,所以基类必须有bothget和set(否则代码无法编译)例如publicclassMyBase{publicvirtualStringA{get{return"getBaseA";}set{thrownewNotSupportedException("setBaseA");}}}现在你有两个不同的派生类:

c# - 防止 visual studio 将 setter 方法限制为内部

好吧,我使用visualstudio2015CE,更新2。我通常做的一种提高效率的技巧是创建空模型类,例如:publicclassPersonModel{}然后在选择表达式中使用它们,例如:db.People.Where(p=>someCondition).Select(p=>newPersonModel{Id=p.Id,Name=p.Name,//setotherproperties}).ToList();然后我转到还不存在的属性Id和Name,...然后按Control+。要求visualstudio为我生成属性Id。一切都很好,但它会创造:publicintId{get;inte

javascript - JavaScript 是否允许 getter 和 setter?

这是我的代码:varNote=function(){}Note.prototype={getid(){if(!("_id"inthis))this._id=0;returnthis._id;},setid(x){this._id=x;}}vara=newNote()alert(a.id)这种风格很像python,第一次看到这段代码,你能给我更多关于javascript中“get”和“set”的例子吗。谢谢 最佳答案 是的。此功能是在ECMAScript5中添加的。PropertyAssignment:PropertyName:Ass