标签:C#
Kotlin中如何实现类似Java或C#中的静态方法
大家可以在网络上搜到不少这样的文章,官方推荐是包级函数,也有人说用伴生对象(companion class)。这些都是不错的选择,但并不完善,我们在不同的情况下有更好的选择。我总结了几种方法,分别是:包级函数、伴生对象、扩展函数和对象声明。这需要大家根据不同的情况进行选择。
一、包级函数
Kotlin和Java及C#不同的是,可以在包里面直接声明函数。做法和类中是一样的,这里就不多说了,的确是一个非常好的选择。适用于函数不需要不包内部的类进行数据共享的方法。 阅读全文...
返回null还是抛出Exception
我自己在写代码的时候也经常会写return null,但仔细想想这真的好吗?
[crayon-600e48b082c30645060089/]
阅读全文...
C#中的具名参数、可选参数及注意问题
具名参数 和 可选参数 是 C# framework 4.0 出来的新特性。
一. 常规方法定义及调用 阅读全文...
C#重载操作符==和!=时注意问题
1、大家一定要明确一点就是如果两个类在没有重载==和!=时用这两个运算符进行比较,那么只有引用相同的地方的时候才返回true,否则(不管里面的内容是否相等)返回false。object.Equals可以将类进行简单的装箱和拆箱操作再进行比较。
所以。。。如果大家要对用自己写的类用==和!=时一定要进行重载。
2、重载时最常犯的一个错误是: 阅读全文...
用.NET执行AutoCAD自带命令
看到网上很多文章说什么以前用其他语言时执行AutoCAD中自带的命令非常方便,而.Net使用时非常不方便。这样说也不算错,因为在AutoCAD 2015之前,.Net自带的执行命令的方法只有一种,而且还是异步执行的,非常鸡肋。
先总结一下现在.Net中可以使用的执行AutoCAD中的命令的5种方法:
1、托管类Document中的SendStringToExceute方法
2、COM类中Document的SendCommand方法
3、通过P/Invoke调用acedPostCommand方法
4、通过P/Invoke调用ads_queueexpr方法
5、托管类中的Editor的Command方法(从AutoC 阅读全文...