问题标签 [class-properties]

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 投票
2 回答
134 浏览

python - 如何输入检查类属性

我有一个MyClass具有类属性的类SOMETHING

我想SOMETHING被强制满足某个条件,例如SOMETHING < 100。我怎么能那样做?

最终,这个类是由用户子类化的,例如:


我一直在研究此处概述的类属性方法,但它们似乎都不能很好地定义主体中的属性。class

例如:

但是,如果该属性被正常访问,例如:

它工作正常,即使是子类化:

除了SOMETHING子类中的设置也被忽略。

那么,当在正文中定义时,如何触发@SOMETHING.setter代码的执行?SOMETHINGclass

0 投票
2 回答
132 浏览

c# - 如何制作接口基础属性,然后用派生实现?

我正在创建一个聊天应用程序。在聊天中,用户可以发送三种类型的消息:图像、文件和文本消息。我正在尝试创建一个名为的接口IMessege,其中包含 3 个类属性:

然后我想在 3 个类中实现接口FileMessegeImageMessegeStringMessege. 我希望他们都拥有User senderand DateTime sent,但content我想来自 type stringat StringMessege, from type fileatFileMessege等......

我不认为这会是一个问题,因为所有这些类都继承自object,但显然它是。

我该怎么做?

0 投票
2 回答
145 浏览

c# - 尝试将项目添加到 C# 中的类中的列表属性时出现运行时错误

我有一个类,其属性是enum要在运行时填充的值列表(我使用的是列表而不是数组,因为我事先不知道会有多少项)。

我这样声明了这个属性:

其中FooEnum具有以下结构:

要将项目添加到列表中,我将以下方法添加到 Entity 类:

我还没有实现启动更新逻辑,因为我想测试一个 VectorSize 为 1 的示例,但是在运行程序时出现运行时错误:

System.NullReferenceException:对象实例的对象引用未定义

我试图将列表声明为public List<FooEnum> FooList = new List<FooEnum>();,但立即收到警告,告诉我

字段“Entity.FooList”永远不会被归属,并且总是有一个默认的空值

所以我又开始使用 getter 和 setter。

我试图在 C# 中找到一些 List 属性的示例,并基于它们我尝试将我的声明更改为

但我得到了相同的运行时错误。

我错过了什么?不能将枚举列表用作类属性吗?

0 投票
1 回答
49 浏览

php - 更改方法 A 中的类属性值并访问方法 B 中的更新值

我正在使用一个主要基于 CodeIgniter 的自定义 PHP 框架。

在我的一个控制器文件中,我设置了一个名为 $orderId 的类属性。用户填写表格并提交后,我将进行数据库插入,获取订单号。并使用该订单号覆盖 $orderId 类属性值。

然后,我将重定向到要访问更新后的 $orderId 类属性值的提交页面。这最后一部分不起作用,提交类获取属性 $orderId 的空白值。

请问我哪里错了?下面的基本示例。也许由于重定向我不能这样做,应该使用会话变量来代替?

谢谢!

[编辑] 或者我可以将 orderId 作为重定向中的第三个 URL 参数传递。EGredirect('orders/submit/'.self::$orderId);在这种情况下,我会将所有self::实例转换$this->为类级别范围。

0 投票
2 回答
1462 浏览

javascript - 如何在每个类方法调用之前和之后执行一个函数?

我想在 javascript 类中的函数上插入预执行和后执行挂钩。

可以说我有这样的课。

我想为这些预先存在的类方法定义一个前后挂钩。像这样的东西。

在现有代码中进行最少更改的情况下实现这些钩子的最佳方法是什么?

0 投票
2 回答
55 浏览

python - 定义在初始化时按顺序计算属性的类的最佳实践

我想定义一个执行以下操作的类:

然后,当我初始化一个实例时,我会按顺序计算所有属性(第一个助手,然后一切都取决于助手):

但是,我认为编写此代码有更好的做法,例如使用装饰器。你能给我一些提示吗?谢谢!

0 投票
0 回答
294 浏览

javascript - 即使在添加插件之后,目前也没有启用对实验性语法“类属性”的支持

这是我的app.js文件:

这是我的package.json文件:

这是我面临的一个错误:

我尝试了可以​​在 Stackoverflow 或 GitHub 或许多其他地方找到的每一篇文章,但我仍然面临这个错误。我试图将插件放在.babelrc文件中,然后在bable-config.js. 如果有人花一些时间来解释导致问题的原因以及如何解决它,我将不胜感激。

0 投票
3 回答
48 浏览

python - 有什么方法可以缩短具有相似语句但返回不同的属性?

我在想def可以被截断为:

这样当我调用“半球”时,它会返回下摆值等等。

PS。我知道我在后者中的return声明是错误的。我希望你明白我的意思。

0 投票
2 回答
218 浏览

excel - 如何获取活动 NamedSheetView 类的名称属性?

Excel 现在可以存储个人过滤视图,以帮助在同时使用的文档中进行协作。我只能找到有关加载项的 Microsoft 文档,但该功能在我的 Excel 版本的 MS Excel for Microsoft 365 MSO (16.0.13127.20266) 32bit 中可用。

https://docs.microsoft.com/en-us/javascript/api/excel/excel.namedsheetview?view=excel-js-preview

我正在尝试存储当前应用的 NamedSheetView 名称属性(用于以后的恢复选项),但此代码失败:

但是此代码有效(使用先前创建的“测试”视图):

如果这个 NamedSheetViews 是一个集合,我应该能够获取 item 属性,但是这些代码也失败了:

任何人都曾成功获得工作表的当前 NamedSheetView 吗?

0 投票
3 回答
137 浏览

matlab - 访问 Matlab 类属性(又名常量)

我有一些类,我为其创建了几个常量属性。这是一些示例代码:

在主代码中,我通过分配类句柄来创建对象,在这种情况下,类句柄来自一个单独的函数传递的预分配值。这就像

稍后我将创建其他对象并将functionModel的值传递给这些类。到目前为止,一切正常。

Matlab 文档说这些常量属性的访问方式如下:

我可以在命令行中输入它,它会产生所需的结果,给出NameDescription属性的值 - 与分配给常量属性的值相同。但是,我只有句柄,它作为@genericClassName保存在functionModel中。

这是我的问题:当我只有句柄时,如何引用这个类及其常量属性,并在前面加上它的 at 符号?

更新 缺少更简单或简洁的答案,@Edric 和@CrisLuengo 的答案组合似乎有效。例如:

将名称为Description的常量放入变量result中。这可用于我需要的东西,我可能只是将它包装成一个函数。