type-safety相关内容

设计多类型对象的最佳方法

假设我有一个数据对象,但是该对象可以容纳几种类型的数据之一. class Foo { int intFoo; double doubleFoo; string stringFoo; } 现在,我想创建一个访问器.一些获取此数据的方法.显然,我可以创建多个访问器: public int GetIntFoo(); public double GetDoubleF ..
发布时间:2020-11-13 04:58:35 C#/.NET

类型为安全C ++ 11枚举类标志的模板

我正在尝试使用模板创建类型安全的C ++标志。我还想区分 a 标志和flag s (为零,一个或多个标志)。 除了 EnumFlag之外,下面的解决方案效果很好。操作员| (T,T),这会导致对枚举的所有 | 操作返回类型 EnumFlag 。这会破坏很多代码。有什么技巧可以解决此问题?在我的代码中,我执行以下操作,但是 Option 的硬编码不是一个选项。 EnumFlag ..
发布时间:2020-09-27 21:58:59 C/C++开发

使用字节文字

我正在使用以下函数来加亮颜色值(在我的代码中是lambda,但这不应有区别): Function ReduceDistanceTo255(ByVal i作为字节)作为字节 返回i +(255-i)\ 2 结束函数 由于编译器会解释 255 和 2 作为整数而不是字节,结果为 Integer 。不幸的是,没有字节类型字符,所以我不能只写 255B 或类似的东西。 ..
发布时间:2020-09-24 19:09:35 其他开发

sizeof(array)/sizeof(array [0])有什么问题吗?

我的一位同事最近表示,以上声明不是类型安全的,我应该使用其他声明,因为您需要尽可能多的类型安全结构以减少可能的错误数量. 虽然我同意类型安全,但我有点困惑,因为这是有问题的代码类型(仅对data []的内容和长度进行了修改) unsigned char data[] = {1,2,3,4,5}; int data_len = sizeof(data) / sizeof(data[0]) ..
发布时间:2020-07-17 20:37:47 C/C++开发

使用类型对任意约束建模以进行编译时检查

考虑到Scala的强类型系统,我有一个雄心勃勃的项目,现在我打算放弃该项目,因为它的使用率似乎太高了. 基本上,我有一些图形元素(GE),它们对应于以给定的计算速率进行的声音处理.图元素由形成其输入的其他图元素组成.现在,输入的费率存在任意的约束.在源语言(SuperCollider)中,费率是在运行时检查的,这自然是因为它是一种动态类型的语言.我想看看我是否可以在编译时执行检查. 一 ..
发布时间:2020-07-12 04:48:22 其他开发

强类型语言和静态类型语言有什么区别?

还有,一个暗示另一个吗? 解决方案 强类型语言和静态类型语言有什么区别? 静态类型的语言具有类型系统,该类型系统在实现时由实现(编译器或解释器)检查.类型检查拒绝某些程序,并且通过检查的程序通常带有一些保证.例如,编译器保证不对浮点数使用整数算术指令. “强类型"的含义并没有真正的共识,尽管专业文献中使用最广泛的定义是“强类型"语言,但是程序员不可能解决由“强类型"引起的限 ..
发布时间:2020-07-10 00:39:57 其他开发

如何使数据绑定类型安全并支持重构?

当我希望将控件绑定到对象的属性时,必须将属性的名称提供为字符串。这不是很好,因为: 如果属性被删除或重命名,那么我不会收到编译器警告。 如果使用重构工具对属性进行重命名,则可能不会更新数据绑定。 如果属性的类型是错误的,例如将整数绑定到日期选择器,然后直到运行时我都不会出错。 是否有一个设计模式可以获取这样解决,但是仍然易于使用数据绑定吗? (这是WinForms,ASP.N ..
发布时间:2020-05-30 19:23:08 C#/.NET

斯威夫特弦与弦!与字符串?

我已阅读对于UILabel,如果您未指定?或!,则将收到这样的错误: @IBOutlet属性具有非可选类型'UILabel' 然后Xcode为您提供 2 个修复它的选择,您可以这样做: fix-it添加?形成可选的UIlabel类型? 修复它添加!来形成 隐式解包的可选类型UIlabel? 但是对于字符串,您只需键入string而无需?或!,就不会出现错误为什么? ..
发布时间:2020-05-21 21:45:12 移动开发

类型安全和类型推断之间有什么区别?

它们有何不同?我有点困惑,因为它们似乎是相似的概念. 了解它们如何帮助优化编译时间? 解决方案 从Swift自己的 类型安全 Swift是一种类型安全的语言.类型安全的语言鼓励您清楚代码可以使用的值的类型. 如果您的代码的一部分需要一个字符串,则不能错误地将其传递给Int. var welcomeMessage: String welcomeMessage = 22 // ..

类型安全Control.Invoke C#

我正在使用C#编写一个包含2个线程的软件 控制窗体(Windows窗体)并与用户连接的线程. 一个在后台检查在线数据的线程. 当在线数据不规则时,我需要第二个线程在表格上打印消息. 因为只有创建控件的线程才能更改它,所以我正在使用委托. 第二个线程通过Control.Invoke方法调用第一个线程来执行委托. 示例: public partial class ..
发布时间:2020-05-14 00:16:53 C#/.NET

常见Lisp中的类型安全和参数安全划分

长话短说,我需要defun ts_div并允许它成为常规/ 的类型安全和“参数安全"版本 基本上,我希望它接受其中包含任意数量的数字(甚至没有数字)的列表,并能够像这样调用它: (ts_div (123 321 23)) 或: (ts_div somelist) 所需结果:如果列表中有两个以上的项目,则第一个项目将除以第二个项目,其余的项目将被忽略.如果第二个数字为0,则应 ..
发布时间:2020-05-02 04:36:47 其他开发

可能具有编译器支持(类型安全),以避免在Web开发期间对反XSS进行双重编码吗?

是否可能有编译器支持来强制执行数据清除(XSS编码)? 这个问题让我想到了双重编码以及其他需要编码的时候.似乎对于Linq来说会很好用,但是在其他情况下我可能也需要此功能. Microsoft AntiXSS-是否需要解码? 解决方案 是的,给定类型系统具有足够的表现力和强大功能,这确实是可能的. 例如, Ur/Web 是用Ur编程语言编写的Web应用程序框架,其中类型系统 ..
发布时间:2020-05-01 06:40:34 C#/.NET

什么是类型安全?

“类型安全"是什么意思? 解决方案 类型安全意味着编译器将在编译时验证类型,如果尝试将错误的类型分配给变量,则会引发错误. 一些简单的例子: // Fails, Trying to put an integer in a string String one = 1; // Also fails. int foo = "bar"; 这也适用于方法参数,因为您要将显式类型传递给 ..

如何让Kotlin的类型安全构建器在Scala中工作?

Kotlin具有出色的类型安全的构建器,可以创建dsl的像这样 html { head { title("The title") body {} // compile error } body {} // fine } 令人敬畏的是,您不能将标签放在无效的位置,例如头部内部的身体,自动补全功能也可以正常工作. 我很感兴趣是否可以在Scala中实现.如何获 ..
发布时间:2020-04-26 12:21:43 其他开发