码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-08-18 15:45:42      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

  • 分部类型:可以在多个源文件中为一个类型编写代码。特别适用于部分代码是自动生成,而其他代部分的代码为手写类型。
  • 静态类:对工具类进行整理,以便编译器能明白你是否在不恰当的地使用它们,并使你的意图更清晰。
  • 独立的取值方法/赋值方法属性访问器:属性终于有了公有取值方法和私有赋值方法了!(这不是惟一的组合,不过这是最常见的组合)。
  • 命名空间别名:在类型名称不惟一的情况下的一种解决方式。
  • 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));
        }
    }
}

 

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

标签:

原文地址:http://www.cnblogs.com/leonhart/p/4739325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!