问题标签 [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.
c# - 在不复制属性名称的情况下强类型调用 web.config?
我在这里搜索了答案。很抱歉,如果之前有人问过这个问题(我怀疑它已经问过了)。
摘要:如何在不复制属性名称的情况下对 web.config 进行强类型调用?
详细信息:在我的代码中,我尽量减少字符串的使用,而且我不喜欢定义两次。
作为对这两个习惯的补充,我将 AppSettings 的使用(及其字符串)限制为一个类,我在整个项目中都引用了它。AppSettings 类公开公共属性:
如何保留此类并防止属性名称重复(第 12 行和第 14 行)?
或者,您可能会推荐什么其他解决方案?
.net - ListBox.DisplayMember = [String] 我可以以某种方式解决它而不是 .NET 中的字符串吗?
这个问题是针对对象数据源提出的。所以考虑一下我有一堂课
我已经将一个列表框数据绑定到这些对象的列表中。所以我说
但我的问题是,当我将 Customer 类的名称重构为
DisplayMember 仍然停留在“名称”。这将失败。所以它降低了我重构域对象的能力。有什么办法吗?
html - 使用 Joel 建议的类型系统防止 XSS 攻击
在Podcast 58(大约 20 分钟)中,Jeff 抱怨了问题,HTML.Encode()
而 Joel 谈到了使用类型系统来拥有普通字符串和 HTMLStrings:
关于默认情况下无法进行 HTML 编码的视图引擎的邪恶性的简短政治咆哮。这种设计选择的问题在于它不是“默认安全的”,这对于框架或 API 来说总是错误的选择。忘记在您的 Web 应用程序的一个臭地方编码一些用户输入的数据,您将完全拥有 XSS。相信它。我知道,因为它发生在我们身上。多次!
Joel 坚持认为,使用强类型语言和正确的框架,(理论上)完全消除 XSS 是可能的——这需要使用特定的数据类型,这是向浏览器发送数据的唯一方式。该数据类型将在编译时进行验证。
博客文章中的评论提到使用静态分析来发现潜在的弱点。成绩单 Wiki尚未完成。
是否可以在没有新的 ASP.NET 框架的情况下实施 Joel 的建议?
是否可以简单地通过子类化每个控件并执行基于 HTMLString 的新接口来实现它?如果大多数人已经将控件子类化以便更好地注入特定于站点的功能,那么这不是很容易实现吗?
是否值得这样做而不是投资于静态分析?
c#-4.0 - 有没有一种融合了动态类型和强类型优势的理想语言?
我有兴趣学习一种在内部将对象处理为哈希表(如 JavaScript)但可以用强类型包装它们以在设计时提供代码完成/智能感知的好处的语言。以下是我希望这种梦幻语言发挥作用的方式:
我希望这个程序能够无误编译、无异常运行并在控制台上打印 “Miauew”。有没有一种语言可以做到这一点?也许是 C#4.0?
asp.net-mvc - NHibernate + ASP.Net MVC - 如何根据用户选择的字段对强类型的数据进行排序
我正在使用远程排序和分页在网格(ExtJS)中为用户呈现数据。假设我有一个包含一些订单的网格。订单实体看起来像 Order{OrderNumber, Customer, Date, Address{Street, City, PostCode}}。Customer 被 NH 映射为关系,Address 被映射为组件。网格中显示的数据被展平为如下命名的列:OrderNumber、Customer.Number、Customer.Name、Date、Address.Street、Address.City、Address.PostCode。
用户选择他想要排序的列,网格将字段名称发送到服务器。现在在服务器端,我需要向后恢复实体属性属于网格字段名称,并确定它是组件还是关系,并使用 CreateAlias + AddOrder 等构建标准。这个逻辑充满了如下代码:
这已经简化了很多,但目前看起来一定是这样的。我正在寻找一些通用的更智能的解决方案。有什么想法吗?我现在面临的问题是我可以有一个转换实体属性(包括嵌套组件和关系)的约定,但是我需要一个方法来确定该字段是否像组件或关系一样映射。这将是相当沉重的......
oop - 在强类型 OOP 语言中进行鸭子类型的参数?
有没有用这种语言(例如 C#、Java)写过东西,却错过了鸭子打字的情况?(有关反对鸭子类型的论点,请参阅此问题)
c# - 为什么我不能从 System.Object 中提取 ushort 然后将其转换为 uint?(C#)
我正在操作列表中的项目,即System.Management.ManagementObjectCollection
. 这些项目中的每一个都是一个System.Management.ManagementObject
包含由字符串索引的属性。看:
每个“字典访问”都queryObj
返回一个 C# object
,这实际上是该属性应该是什么——我必须事先知道它们的“真实”类型,这没关系。
问题是,我InvalidCastException
在uint
演员阵容中得到了一个。我必须使用真正的类型,即ushort
. 演员表不应该ushort
是uint
可以接受和明显的吗?
在这种情况下,我最终会将这些值转换为string
,但是如果我必须将它们放入uint
orint
或long
变量中怎么办?
asp.net - WebForms 3.5 中的强类型 ASCX?
我希望摆脱 WebForms 3.5 应用程序中控件的代码隐藏。再次被 MVC 中如何完成的错误所困扰,我想通过执行以下操作更接近这种方法:
这给了我你期望的解析器错误,所以我记得这是一个等待 MVC 预览中修复的问题,并将其更改为:
但这也不起作用!MVC 团队是如何利用这种能力的?MVC 项目类型而不是最新的 VS2008 Service Pack 有什么特别之处吗?
除了放弃并要求未来的模板具有代码隐藏文件之外,我最好的选择是什么让这个尽可能接近通用用户控制方法?
objective-c - 创建一个只包含给定类的对象的数组
好的,所以我有下面的代码(Objective-C FYI),我想知道是否要创建一个 NSMutableArrayc_data
对象,我该怎么做呢?这有点像List<c_data> cData
在 C# 中声明 a 。
如果您查看课程feat_data
,我正在尝试制作cData
课程的数组c_data
。我已经将我的尝试包括在内,但我认为它不正确,因为c_data
它不是数组。有什么建议么?
c# - 在 C# 中是否有一种很好的强类型方法来执行 PropertyChanged 事件?
除了 INotifyPropertyChanged 的 PropertyChanged 事件的属性名称之外,更改属性名称并期望 Visual Studio 中的重命名功能负责所有必要的重命名,这一定是一个比较常见的事件。有没有更好的方法让它强类型化,这样你就不需要记住手动重命名它?