问题标签 [accessor]

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 投票
1 回答
395 浏览

javascript - 如何从 C 中获取 JSObject 属性的值?

在 SpiderMonkey 中,如何从我的 C 代码中获取 JSObject 的属性值?

0 投票
10 回答
7380 浏览

c# - 公共变量与带有访问器的私有变量

有没有其他人见过人们这样做:

如果您要对它的设置方式进行某种控制或在有获取时对其执行某种功能,我理解使用访问器。但是,如果您只是要这样做,为什么不一开始就将变量设为 public 呢?我错过了什么吗?

0 投票
18 回答
92679 浏览

java - 有没有办法在 Java 中模拟 C++ 的“朋友”概念?

我希望能够在一个包中编写一个 Java 类,该类可以访问另一个包中的类的非公共方法,而不必使其成为另一个类的子类。这可能吗?

0 投票
4 回答
877 浏览

ruby - Ruby 访问器有没有办法返回 set 变量以外的东西?

我想做一些检查作家访问器。我的第一个想法是返回一个布尔值。

我可以在写入器访问器中设置返回值吗?如果是,我怎样才能得到这个值?

0 投票
5 回答
1284 浏览

c# - 启动一个有访问者的事件

如何启动具有这样访问者的事件:

如果这是一个正常事件,我会通过以下方式启动它:

但在这里它不起作用 - 我只能做

附加一个方法做事件 - 但我不能启动它。

也将不胜感激有关该主题的一些文档。谢谢。

编辑 该事件来自在 WPF 中实现 ICommand 的类。没有什么可以展示的了:)。不 - CommandManager.RequerySuggested(this, EventArgs.Empty); 不起作用。

EDIT2不知道该说什么 - 即使正确调用了 add 方法,Jon 的示例也应该有效 - 当我尝试调用事件时 - 它是 null :|。我可能会删除带有访问器的事件。

0 投票
12 回答
712 浏览

oop - 我应该什么时候开始一个方法名称,它可以获取带有“get-”前缀的属性?

对于返回对象的属性/属性/成员的命名方法,有什么好的经验法则?如果一个对象具有一些不可变的质量“blarg”,那么返回该质量的方法应该称为“blarg()”还是“getBlarg()”?例如,Java API 是不一致的:大多数属性都是通过“get”方法访问的(即使是那些没有相应的“set”方法的),但我们也有类似 Object.hashCode() 而不是 Object。获取哈希码()。

更新:属性是否应该是一个字段(在实现中)是这里的决定者?那么在二维空间中表示不可变点的类呢?无论该点是存储为 (x,y) 还是 (r,theta),我仍然需要所有四个属性的访问器。它们应该是 getX()、getY() 等,还是只是 x()、y() 等?从用户的角度来看,由于我们不希望我们的用户知道/关心我们的实现,这四个不应该有相同的命名约定吗?

0 投票
2 回答
2784 浏览

c# - WCF服务,如何隐藏内部方法?

在我的 WCF 服务中,我有当前公开的方法,但我想对外界隐藏它们,但能够在我的 WCF 服务中使用它们。

我在看的是内部的吗?

0 投票
5 回答
1703 浏览

.net - 通过访问器或直接访问同一类的属性的最佳方法是什么?

这是我不太一致的事情,并且总是对其他人的所作所为感到好奇。

您如何访问内部属性(私有或公共)?

例如你有这个属性:

在另一个函数中的同一类中,您更喜欢哪一个?为什么?

或者

忽略我使用 Name 而不是 Me.Name 的事实。

0 投票
4 回答
1787 浏览

c# - C# 中的后备访问器?

C# 有类似 Python 的东西__getattr__吗?

我有一个具有许多属性的类,它们都共享相同的访问器代码。我希望能够完全删除单个访问器,就像在 Python 中一样。

这是我的代码现在的样子:

这就是我想要的:

有没有办法在 C# 中实现这一点而无需Get直接调用?

谢谢,

0 投票
4 回答
317 浏览

.net - 是否可以通过覆盖将访问器添加到 .NET 中的属性?

有可能做这样的事情吗?

也就是说,基类提供了一个只有 GET 访问器的虚拟属性,但子类覆盖了 GET 并还提供了一个 SET。

当前示例无法编译,但也许我在这里遗漏了一些东西。

补充:为了澄清,不,我不想用 new 重新定义。我想添加一个新的访问器。我知道它不在基类中,所以它不能被覆盖。好的,让我试着解释一下没有语法糖的情况: