C#知识点总结(静态类,扩展方法,TryParse用法)

打算把博客搬到CSDN上面来了,以前一直博客园写,写得到后面没什么激情了,不过呢,在CSDN上面可能没太多的朋友,因为自己是搞.NET的,CSDN上面C和JAVA的多些,不过我还是打算再这里开始我的.NET博客之旅。毕竟,这里是CSDN,就算上不了首页,也有浏览量啊。

好了,开始吧,为了让大家有一个直观的认识,我打算把公司的框架图发给大家。

C#知识点总结(静态类,扩展方法,TryParse用法)_第1张图片


1.GridBuilder 这个里面的代码的作用就是实现一个封装了的Gridview,就像EasyUI的DataGrid一样。

2.Common 里面包含了一些基础类

3.Message 里面的东西主要是一些信息的传输类。

4. Domain 模型类

5.DataProvider 数据提供类


好了,闲话不多,我们的旅程先从Common 开始,我打算也从网上截取一些东西,为了保证公司的源码 不外泄,我决定对代码都进行图片化处理,希望大家理解。


1.ConversionExtensions 类

C#知识点总结(静态类,扩展方法,TryParse用法)_第2张图片

大家也许对静态类还不太熟悉吧,嘿嘿,正好我来跟大家说一下:

 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。

    静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明。程序员必须声明一个私有构造器。私有构造器禁止开发者在类的范围之外实例化类的实例。使用私有构造器的效果与使用静态类的效果非常相似。两者的区别在于,私有构造器方式仍然可以从类的内部对类进行实例化,而静态类禁止从任何地方实例化类,其中包括从类自身内部。静态类和使用私有构造器的另一个区别在于,在使用私有构造器的类中,是允许有实例成员的,而C# 2.0和更高版本的编译器不允许静态类有任何实例成员。使用静态类的优点在于,编译器能够执行检查以确保不致偶然地添加实例成员,编译器将保证不会创建此类的实例。静态类的另一个特征在于,C#编译器会自动把它标记为sealed。这个关键字将类指定为不可扩展;换言之,不能从它派生出其他类。

 上面的是静态类的解释,静态类一般,我见过的,一般都是和扩展方法一起使用的,那么什么是扩展方法呢?先上一段已经有的代码。



就是上面一张图的2个方法,这种以this 作为第一个参数的静态方法(必须在静态类里面)的的方法,称为扩展方法,下面是官方的解释。

扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。

还有一个知识点是TryParse,这里必须和xx.Parse这种方式结合起来去想,下面是我从网上找的知识点:

int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0
吼吼,这篇文章写完了,准备下一篇文章。

你可能感兴趣的:(C#知识点总结(静态类,扩展方法,TryParse用法))