问题标签 [strong-typing]

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 投票
6 回答
299 浏览

c# - 这可能使用泛型吗?C#

我知道我可以通过创建自定义类来解决以下问题,但是可以将以下内容强类型化为List(或任何其他类型)吗?

上面代码中的对象类型只是举例。

一天结束了,我的大脑有点软了。

编辑:元组?

0 投票
2 回答
408 浏览

objective-c - 覆盖方法时严格与松散类型

我在“Objective C 编程”中的一个示例中有一个名为 AddressCard 的类,并且我正在实现一个 isEqual: 方法。

NSObject 中此方法的签名使用松散类型的参数:

OTOH,书中的示例代码使用严格类型:

我不确定我是否完全理解编译器在这种情况下的作用。我尝试将 AddressCard 与 NSString ( [aCard isEqual: @"Foo"]) 进行比较,期望出现运行时错误(如果系统使用我的方法)或系统将调用 NSObject 的 IsEqual 版本。

相反,我的方法被调用(即使参数是 NSString 而不是 AddressCard)并在我的 IsEqual: 尝试调用特定于 AddressCard 的方法时引发异常:

这是怎么回事?到底如何将 NSString 传递给期望其他方法的方法?覆盖时更改方法的签名可以吗?

0 投票
3 回答
471 浏览

vb.net - Strongly-typed generic method invokes its argument's base class method, instead of a shadowed method in T?

Consider a MyForm class that contains a shadowed implementation of Show(). It also contains a CreateForm() method, which accepts an instance of the form and calls the shadowed sub:

When called with CreateForm(New MyForm()), the shadowed implementation of Show() is correctly called. Now consider the following generic implementation:

Called with CreateForm(Of MyForm)(New MyForm()), this strongly-typed generic method never invokes the shadowed method.

Is this a bug, or am I missing something?

0 投票
9 回答
5455 浏览

strong-typing - 为什么紧耦合不好但强类型好?

我很难看到松散耦合代码在现实世界中的好处。为什么要花这么多精力让一些东西灵活地与各种其他对象一起工作?如果你知道你需要实现什么,为什么不专门为此目的编写代码呢?

对我来说,这类似于创建无类型变量:它使其非常灵活,但可能会遇到问题,因为可能传入了一个意外的值。这也使得它更难阅读,因为你不明确知道传入的是什么.

然而,我觉得鼓励强类型化,但松散耦合是不好的。

编辑:我觉得要么我对松散耦合的解释不正确,要么其他人读错了。对我来说,强耦合是当一个类引用另一个类的具体实例时。松耦合是指一个类引用另一个类可以实现的接口。

那么我的问题是为什么不专门调用一个类的具体实例/定义?我将其类比为专门定义您需要的变量类型。我一直在阅读有关 Dependency Injection 的文章,他们似乎认为松耦合更好的设计是事实。

0 投票
4 回答
14998 浏览

flash - 如何用一组值初始化向量?

如何用一组值初始化向量?

我试过了,它符合要求,但不起作用!

我还需要将任意数组加载到向量中,如下所示:

有没有办法做到这一点?


编辑:如何用二维值数组初始化二维向量?

我试过这个,但它给了我错误:

TypeError:错误 #1034:类型强制失败

0 投票
2 回答
11110 浏览

c# - 购物车会话状态在 ASP.NET MVC 中正确完成

我正在为 ASP.NET MVC 中的未经身份验证的用户实现一个简单的会话购物车,我想把它做对。

在过去,我总是将购物车 ID 存储在持久Session["CartID"]存储中并作为 cookie。Carts每当我需要显示购物车时,我都会从我的和CartItems表格中查找用户的购物车项目。但是在里面我知道一个更强类型的方法会更干净。

在谷歌搜索最新的会话 MVC 内容后,我找到了术语HttpSessionStateWrapper,这似乎是一种可测试的处理会话的方式。但是我还没有找到任何好的教程或标准化的实现。也许这只是一个流行词,我应该坚持下去Session["..."]

在最新版本的 ASP.NET MVC 中使用会话实现购物车的正确方法是什么?

0 投票
3 回答
494 浏览

c# - 强类型属性声明——这段代码安全吗?

我想知道以下代码是否“安全”。“安全”是指我不依赖于某些特定的编译器版本或未记录的功能。我想获取带有属性/字段名称的字符串,但我想使用强类型声明它(我希望编译器检查特定字段/属性是否存在)。我的方法如下所示:

这就是我想使用它的方式:

提前感谢您的帮助。

0 投票
1 回答
5299 浏览

.net - JSON 反序列化为继承的类型

我的数据库中有一个数据表,用于存储各种设置。由于它们是任何类型的(甚至是复杂的对象图),我决定将它们的值存储为序列化的 JSON 字符串。

假设我序列化了一个List<ItemBase>. 序列化的字符串看起来很好。但问题是列表项具有继承自的各种类型ItemBase(对于我所关心的而言,这也可能是抽象的)。

问题

我应该使用哪个(反)序列化类/库,这样我的 JSON 字符串将被正确反序列化以正确的对象实例。

0 投票
1 回答
1604 浏览

asp.net-mvc-2 - ASP.NET MVC 动态列表绑定

我有一个强类型的 mvc 页面,我不会将无序列表绑定到对象列表。所以在 mvc 视图中它可能看起来像

我的视图模型可能看起来像

我的列表包含对象

如果我将 WhatYouDoL[0].Reference 与索引 ([0]) 一起使用,则可以绑定,在加载时我可以使用索引进行设置。问题是我想在客户端的这个列表中添加和删除。所以我可能有一些 js 添加和额外的列表项并删除当前的。这意味着我必须以某种方式管理名称中的索引,并使它们在客户端保持有序且不重复。有谁知道是否有办法绕过使用名称中的索引。

提前致谢。

0 投票
2 回答
1114 浏览

types - “弱打字”语言的优势

为什么编程语言要使用弱类型而不是强类型?