问题标签 [setter]

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 投票
3 回答
8352 浏览

php - 如何在我的类中使用 PHP 的 __get() 和 __set() 来定义字段?

我已经很好地阅读了有关重载的 PHP 规范,并且大多数示例似乎旨在简单地允许定义自定义字段(类似于 stdClass)。

但是我的类中定义的私有字段呢?应该如何检索/分配这些?我可以对可能的值进行切换并对某些值采取行动:

这是最好的方法,还是有另一种普遍接受的最佳做法?(我不知道是否可以在类中循环类变量,但无论如何这在大多数情况下都不合适,因为您不想返回所有内容。)

0 投票
4 回答
31442 浏览

wpf - 如何使 Style.Triggers 触发要应用的不同命名样式

可以说我有以下内容:

这工作正常,这里没有什么太大的问题,但这是一个相当简单的案例。如果我想将 IsFocused 样式状态列为显式样式会发生什么情况,如何将该样式引用为 IsFocused 样式,即

0 投票
2 回答
1084 浏览

model-view-controller - 我可以在没有 getter 和 setter 的情况下使用 mvc 吗?

如果我不想公开我的对象的状态,但我仍然需要显示它(比如说在 HTML、XML 或 JSON 中),我将如何在 MVC 环境中执行此操作。有一个导出方法来导出一个简化的不可变对象(如果你愿意的话,一个“数据类”)是否有意义。添加与接口对话的渲染方法怎么样?有没有其他方法可以解决这个问题?

0 投票
3 回答
651 浏览

php - 一种方法中的设置器/获取器

只是一个想法:

示例(在 PHP 中):设置名称:$object->name('name'); 获取名称:$object->name();

如果没有参数:该方法用作 getter,否则用作 setter。对于简单的 getter/setter。愚蠢,无论如何,也许?

编辑:跟进答案:我不太喜欢get和set,因为我更喜欢让界面尽可能明确。当只有几个属性时,恕我直言,这也是矫枉过正。因此,我想将其缩小到具有几个显式 getter/setter 的类/对象。

0 投票
3 回答
2171 浏览

php - 设置器/获取器,PHP 中的可见性 [OOP]

我正在重新格式化我的类(见下文) - 我认为我犯了一个错误,即在我的类中设置具有相同可见性的所有内容,而属性实际上应该是私有的,而 getter/setter 在大多数情况下应该是公共的。

要获取一个属性,我只需 $path->propertyname 但我注意到拥有 setter/getter 更实用。如果我要实现 getter,我应该为每个属性制作一个,还是可以为整个班级制作一个?因此,例如说我想获取控制器名称...

那会返回控制器的私有财产吗?拥有更通用的 getter/setter 甚至是为我获取设置的混合方法是否很常见?

这是类结构(只是属性/方法):

0 投票
4 回答
16017 浏览

java - 如何修改 Eclipse 自动生成的 set 方法签名?

我当前的项目有这样的编码约定,即实例变量永远不会被 this 引用。前缀,并且参数永远不应该隐藏实例变量。

这导致设置器看起来像:

不幸的是,eclipse默认不会为我生成那个。我发现在代码样式中,我可以通过在参数前缀列表中添加 a 来接近它,但是我只希望它应用于 set 方法,并且我也想在那里添加最终标记。

有没有办法使用模板来实现这一点?其他一些配置?

0 投票
2 回答
1285 浏览

model-view-controller - 视图层的“获取器和设置器是邪恶的”是否失败?

很多人都知道这篇文章:关于 getter 和 setter 的更多信息。我认为它在描绘 getter/setter 的邪恶方面方面做得很有说服力。我还通过尝试将现有项目(未完成)转换为没有 getter/setter 的代码来测试它。有效。代码可读性大大提高,代码更少,我什至设法摆脱了我最初认为确实必要的 getter/setter。除了一处。

让模型进入视图部分是我认为这种方法没有抓住重点的地方。在文章中,作者使用构建器来导出模型。问题是:对于放入构建器的内容的控制与使用 getter 获得的控制一样多。是的,它隐藏了实现,它在模型中的表示方式。但是吸气剂不会从模型中得到与放入其中的非常不同的东西。如果您创建一个通过构造函数传递“5”的 Money 对象,money.getAmount() 将不会返回转换为其他货币或包含一个元素“5”的数组。

你设置你得到什么。通过视图我们设置值,以及当我们从一个应该保存我们最初设置的对象中请求(获取)它们时我们期望的那些值。导出这些的构建器只是期望相同。

这个问题有点长。但我想在我的观点上受到挑战。将模型数据传输到视图层时,getter 和 setter 是否邪恶?

有很多人认为 getter/setter 一点都不邪恶。这也不是我想听到的辩护,因为我认为他们在其他地方确实是邪恶的,而不是我提到的那些地方。

0 投票
1 回答
348 浏览

wpf - 如何将两个控件的值与触发器进行比较?

我必须按钮,命名为 btnOK 和 btnSave。

我希望 btnSave 的 IsEnabled 应该与 btnOK 的值相同,即如果 btnOK 被禁用,btnSave 也应该这样做。

我实际上需要类似(伪)的东西:

0 投票
2 回答
7027 浏览

vb.net - 反思:如果该属性具有非公共(私有/受保护)Setter,如何从属性信息对象中查找?

我在论坛/互联网上搜索了解决方案(公共属性的)PropetryInfo 对象如何显示它是否具有 Private \ Protected Setter ......这一切都是徒劳的......我找到的所有帮助都是关于如何具有 Private Setter 的公共属性的“设置”值...

我想知道我是否有一个公共属性的 PropertyInfo 对象,我怎么知道它的 Setter 是否是非公共的?

我在异常处理块中尝试了对 PropertyInfo 对象执行 GetValue,然后通过设置相同的值来调用 SetValue……但令我惊讶的是,它运行良好并且没有出错。

帮助将非常approaciated...

例如

结束类

谢谢

维尼特桑克。

0 投票
1 回答
1033 浏览

c# - 如何从 fluent-nhibernate 访问我的 asp.net-mvc 控制器中受保护的设置器的属性?

使用 S#arp 架构 1.0RC...

我有一个控制器,它似乎永远不会更新我的一个属性。

我的类是具有 Manager 属性的 User 抽象类。Manager 是 User 的子类,Employee 也是。

我将 Manager 的属性设置器声明为受保护,并为 AddManager 提供了一个方法。这样,我还可以控制经理从该实体的集合中拥有的用户。

我的问题是 ModelBinder 没有在回发中找到更新项目的 Manager 属性。如果我删除受保护的,它工作正常。添加受保护的背部:我没有汤。

以下哪一部分允许我保护我的 setter 并在回发时仍然获得控制器中的值?

谢谢...

这是强制性的映射(一些非细节的编辑):

我的多态类是