当前位置:首页 > Windows程序 > 正文

C# in depth (第七章 最后的一些特性)

2021-03-27 Windows程序

分部类型:可以在多个源文件中为一个类型编写代码。特别适用于部分代码是自动生成,而其他代部分的代码为手写类型。

静态类:对工具类进行整理,以便编译器能明白你是否在不恰当的地使用它们,并使你的意图更清晰。

独立的取值方法/赋值方法属性访问器:属性终于有了公有取值方法和私有赋值方法了!(这不是惟一的组合,不过这是最常见的组合)。

命名空间别名:在类型名称不惟一的情况下的一种解决方式。

pragma指令:用于操作的特定编译器指令,,如禁止对某一特殊代码段使用特定的警告信息。

固定大小的缓存区:在非安全代码中,可以更多地控制结构处理殊足的方式。

InternalsVisibleToAttribute(友元程序集):跨越语言,框架和运行时的一个特性,在需要时能对选定的程序集进行更多的访问。

7.1分部类型

7.1.1 在多个文件中创建一个类型

partial class Example<TFirst, TSecond> : IEquatable<string> where TFirst : class { public bool Equals(string other) { return false; } } partial class Example<TFirst, TSecond> : EventArgs, IDisposable { public void 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); return new string(chars); } }

public static class StaticStringHelper //C#2.0工具类 { public static string Reverse(string input) { char[] chars = input.ToCharArray(); Array.Reverse(chars); return new string(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 { static void Main() { Console.WriteLine (typeof (WinForms.Button)); Console.WriteLine (typeof (WebForms.Button)); } } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68325.html