- 分部类型:可以在多个源文件中为一个类型编写代码。特别适用于部分代码是自动生成,而其他代部分的代码为手写类型。
- 静态类:对工具类进行整理,以便编译器能明白你是否在不恰当的地使用它们,并使你的意图更清晰。
- 独立的取值方法/赋值方法属性访问器:属性终于有了公有取值方法和私有赋值方法了!(这不是惟一的组合,不过这是最常见的组合)。
- 命名空间别名:在类型名称不惟一的情况下的一种解决方式。
- pragma指令:用于操作的特定编译器指令,如禁止对某一特殊代码段使用特定的警告信息。
- 固定大小的缓存区:在非安全代码中,可以更多地控制结构处理殊足的方式。
- internalsvisibletoattribute(友元程序集):跨越语言,框架和运行时的一个特性,在需要时能对选定的程序集进行更多的访问。
7.1分部类型
7.1.1 在多个文件中创建一个类型
partial class example<tfirst, tsecond> : iequatable<string> where tfirst : class { publicbool equals(string other) { returnfalse; } }partialclass example<tfirst, tsecond> : eventargs, idisposable { publicvoid dispose() { } }
7.1.2分部类型的使用 xaml
7.1.3 c#3.0 独有的分部方法
partial class partialmethoddemo { public partialmethoddemo() { onconstructorstart(); console.writeline( " generated constructor " ); onconstructorend(); } partial void onconstructorstart(); partial void onconstructorend(); } partial class partialmethoddemo { partial void onconstructorend() { console.writeline( " manual code " ); } }
7.2静态类型
public sealed class nonstaticstringhelper c#1.0的工具类 { private nonstaticstringhelper() { } public static string reverse(string input) { char[] chars = input.tochararray(); array.reverse(chars); returnnewstring(chars); } }
public static class staticstringhelper //c#2.0工具类 { public static string reverse(string input) { char[] chars = input.tochararray(); array.reverse(chars); returnnewstring(chars); } }
7.3独立的取值方法/赋值方法属性访问器
7.4 命名空间别名
7.4.1限定的命名空间别名
using system; using system.componentmodel; using webforms = system.web.ui.webcontrols;using winforms = system.windows.forms;namespace chapter07 { [description("listing 7.05")] class simplealiases { staticvoid main() { console.writeline (typeof (winforms.button)); console.writeline (typeof (webforms.button)); } } }
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!