👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单。
👉实践过程
😜命名空间
Namespace这玩意就是用来方便管理的,而且在计算机中相同的设计思想到处可见,比如同一个文件夹下不同有同名的文件,你放在不同文件夹下可以有同名文件。
其他编程语言比如Java有包路径,不同路径名字可以有同名的类。这种思想方便管理文件代码。
namespace first_space { class namespace_cl { } //比如这样,程序是会报错的 class namespace_cl { } } //但是你是下面的状态就不会报错 namespace first_space { class namespace_cl { } } namespace second_space { class namespace_cl { } } 复制代码
到这有的人就开始有疑问了:如果是不同的文件或者想访问其他的空间怎么办呢?
细心的已经发现了,就和Java的导包一样,C#使用using导入空间,在每个编程文件的最上面几行都是这样的引入,想要哪些空间的功能导入哪个。
这时候又有人有疑问了,能不能修仙小说那样天外有天,天上还有天。能不能命名空间套命名空间,套套套,此处禁止套娃。
答案是可以的,引入的时候:using namespaceone.namespacetwo 用英文符号.即可,跟Java包路径同理。
😜预处理器
从字面理解就是提前对信息进行处理。她确实也是这样的,她会根据你指定的条件,只编译满足条件的代码,不满足条件的代码不编译。既区分了软件版本,代码还在一块,管理方便。预处理指令是#开始的,且只能作为开头,一般指令单独占一行。都有哪些指令在这就不单独写了。在Unity中指令挺有用的,因为PC是键盘,Android事件是手势,用预处理提前写好不同端的不同实现代码(当然她们功能可能是一致的),打包发布的时候利人利己。
😜反射
通俗的讲就是可以访问一个类的所有属性和方法,且能够调用。有人提问了:随便写的public类不都是能任意访问调用的吗,这有什么区别?
区别在于一个是正常写代码,你知道代码逻辑和内容,且都在你的掌控之内,当然能访问;而反射不同她能够访问你不清楚的类,比如三方框架你遇到这个框架里某个类某个方法没有对外开放,而你又需要使用,就可以用反射把她抛出来。
优点:
- 反射提高了程序的灵活性和扩展性。
- 降低耦合性,提高自适应能力。
- 它允许程序创建和控制任何类的对象,无需提前硬编码目标类。
缺点:
- 性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。
- 使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,因而会带来维护的问题,反射代码比相应的直接代码更复杂。
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:
https://www.zhihu.com/people/zhimalier
https://juejin.cn/user/4265760844943479
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。