c# 9.0 特性提案 简化空参数验证代码
2019-10-02 17:59
1666 查看
简而言之就是将已存在的特性null参数验证,使用一个简单的语义标注进一步简化。
对于如下这段代码
// Before void Insert(string s) { if (s is null) { throw new ArgumentNullException(nameof(s)); } ... }
简化为:
// After void Insert(string s!) { ... }
这个提案是在代码执行时,对值进行检测。
而已存在的可空类型(Nullable)不会影响代码的执行语义(代码执行顺序)。
而本提案中的操作符,可以改变代码的执行顺序,比如,不进入Insert函数中执行代码。
同时这个提案也引入新的思想,是否可以给参数添加其他运算符,表达式,甚至linq。
而对于一个函数,能否像对待一个对象一样处理,比如非空函数?
同时,该提案增加标准库体积后,是否可以使更多的人收益?
相关文章推荐
- URL中去除指定参数实现C#代码
- 一起谈.NET技术,C#特性Attribute的实际应用之:代码统计分析
- C# 4.0 新特性dynamic、可选参数、命名参数等
- C# 4.0 新特性之参数
- C#代码实现对HTTP POST参数进行排序
- C#新手入门代码 类的函数成员的参数是类自己的实例(很有趣的例子)
- Sqlserver存储过程和C#分页类简化你的代码!
- C#使用正则表达式验证电话号码、手机号、身份证号代码
- C# 4.0新特性之命名参数,默认参数
- 【接口验证】特性验证参数
- ES6新特性:利用解构赋值 (destructuring assignment), 简化代码
- 用C#写的一个 学生管理系统验证代码
- 用WebBrowser承载视图,html编写页面,c#编写后端代码;用js调用后端代码,传入function参数作为回调;
- 微信验证.Net代码:C#如何校验URL有效性成为开发者
- C# 中参数验证方式的演变
- 由几行代码浅析C#的方法参数传递
- 常用的正则表达式(转)及在C#代码中用正则表达式验证数据(转)
- 编写高质量代码改善C#程序的157个建议——建议156:利用特性为应用程序提供多个版本
- 使用C#的正则表达式验证中文字符(实例代码)
- 传递参数安全验证代码示例