问题标签 [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 投票
9 回答
16873 浏览

c - 在 C 中强制执行强类型检查(typedefs 的类型严格性)

有没有办法对相同类型的 typedef 强制执行显式转换?我必须处理 utf8,有时我对字符数和字节数的索引感到困惑。所以最好有一些 typedef:

此外,您需要在它们之间进行显式转换:

我知道 C 中不存在这样的功能,但也许您知道这样做的技巧或编译器扩展(首选 gcc)。


编辑 我仍然不太喜欢匈牙利符号。由于项目编码约定,我无法将它用于这个问题,但我现在在另一个类似的情况下使用它,其中类型也相同并且含义非常相似。我不得不承认:它有帮助。我永远不会去声明每个整数都以“i”开头,但就像 Joel 的重叠类型示例一样,它可以挽救生命。

0 投票
5 回答
1830 浏览

java - Java 泛型 - 难以执行强类型检查

这是我的代码:

这在 Eclipse 中编译,但在内部 for 循环( row.add(...) )内的行上,我收到以下三个警告:

  • OrderedPair是原始类型。对泛型类型的引用OrderedPair()<T1, T2>应该被参数化。
  • 类型安全:OrderedPair 类型的表达式需要未经检查的转换才能符合OrderedPair<T, ?>
  • 类型安全:构造函数 OrderedPair(Object, Object) 属于原始类型 OrderedPair。对泛型 OrderedPair 的引用<T1, T2>应该被参数化

我想在这里使用泛型来强制执行强类型检查,但我想我对泛型的理解不足以让我看到如何。有人可以教育我吗?

谢谢,

——肯

0 投票
6 回答
520 浏览

statistics - 比较静态类型代码和动态类型代码 - 成本和收益

不管它的优点是什么,Adobe 的 Actionscript 3 提供了一个独特的机会来探索类型化语言与非类型化语言的后果,因为它几乎是 javascript 的严格超集,具有严格类型声明的所有语法优势/开销、声明性强制转换、等等

这使得可能的是比较两种方式编写的相同代码,同时分解出基本的语言语法。

这让我想知道是否有任何量化证据表明强类型的真正好处,特别是在编译期间的错误检查方面,在错误率、编程效率和代码量方面;还是我们的观点完全基于推测和猜想?是否有任何其他可以同时使用的语言(不包括老式的 VB——无论哪种方式都不是一种备受推崇的语言。)

我已经在这两种语言上花费了大量时间,但还没有最终决定我更喜欢哪种方式,我宁愿不添加轶事证据 - 我正在寻找客观信息。

0 投票
17 回答
55938 浏览

c - C是强类型的吗?

引用维基百科

支持多种隐式转换的两种常用语言是 C 和 C++,有时声称它们是弱类型语言。然而,其他人认为这些语言对如何混合不同类型的操作数施加了足够的限制,因此这两种语言应该被视为强类型语言。

有没有更确定的答案?

0 投票
2 回答
146 浏览

strong-typing - 你封装标量吗?

我发现自己定义了如下类:

与将角度尺寸存储为普通双精度数相比,这具有许多优势。

优点 1,它可以定义这 2 个不同的构造函数:

...后一个明确称为Vec2(1, AngleSize(5));
(尽管在这种情况下,静态工厂函数Vec2::fromPolar(1, 5)可能同样好?)

优点 2,它更类型安全,捕获以下错误:

然而一切都不是很好。

缺点1、冗长且出人意料的语法

呃,这真的应该说cos(direction)在不允许不安全的隐式转换的情况下,我需要详细地访问实际值。

缺点2每件事的课程太多,你在哪里画线?

在这种情况下,你自己会怎么做?

另外,我在哪里可以阅读有关此问题的信息?我想boost可能有什么相关的?

请注意,这不仅仅是几何,它适用于任何地方。想想posix socklen_t ...

0 投票
2 回答
4971 浏览

.net - 如何手动从 app.config 文件中读取强类型对象

我有一个要从手动指定的 app.config 文件中读取的 dll(该 dll 是本机 com dll 的 .net 扩展名,它是 Microsoft 管理控制台管理单元,因此没有 mmc.exe.config)。我已经能够打开配置文件,阅读相关组和部分以获得我想要的设置。像这样:

设置是一个字符串集合和一个字符串。像这样:

我可以通过这种方式创建一个字符串数组:

但我想知道是否有一种我错过的好方法可以让我的设置被读取并转换为正确类型的对象,就像读取标准 app.config 文件时一样。

请告诉我有...

0 投票
2 回答
1321 浏览

model-view-controller - mvc没有代码隐藏强类型的viewdata标头不起作用

我将它添加到我的标题中<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>,并且能够访问 ViewData 及其所有内部以及所有 mvc 对象,如 url 和 html。一旦我添加“ System.Web.Mvc.ViewPage<app.Models.tTable>”,我就无法访问任何 mvc 类和辅助方法。我很困惑为什么会这样。我最近完成了从 mvc preview 5 到 rc1 的升级,但是我向 rc1 的过渡完美无缺,没有任何错误或错误。

0 投票
6 回答
2708 浏览

asp.net-mvc - 强类型部分视图 MVC RC1

将 ViewData.Model 传递给部分视图时遇到问题。即使我将其等同于结果查询,它也始终默认为 null。我无法访问强类型数据,因为模型为空。我目前的代码是这样的,

查看页面

用户控件 - 标题

用户控制 - 测试

控制器

0 投票
4 回答
569 浏览

generics - 并行继承链中的多态性和类型安全

我有两个并行的继承链:

我想在 Animal 上实现“Eats”多态属性。这是它的样子:

但是,此代码不是类型安全的。如果我用草喂我的狮子,我只会在运行时遇到我的错误。

有人可以为我提供一个代码示例,在不牺牲多态性的情况下使用泛型促进类型安全吗?

0 投票
11 回答
42055 浏览

objective-c - 有没有办法强制在 NSArray、NSMutableArray 等上输入?

我可以创建一个所有元素都是 type的NSMutableArray实例吗?SomeClass