C#2.0锋利体验之杂项技术及往后上扬学习笔记

    
抽空闲的光阴,看了李建忠先生讲的”C#2.0狠狠体验—杂项技术,以及C#语言的前景向上”课程。对一些很小的知识点举办了回看和统计。那里整理要点。

一、命名空间别名限定符的引入

C#
2.0同意大家应用命名空间别名限定符(::)来防止差异命名空间中类型名称顶牛的题材。

1.当行职务名空间别名限定符(::)时候,编译器可以确保那是一个只适用于”命名空间别名”的限定符,不会分析为任何品类、或者成员限定符(.)

2.重中之重字globar可以置身命名空间别名限定符(::)的左侧,它使得编译器只去找寻那个具有的命名空间,而不会去寻觅其余类型、或者成员。(命名空间的名字和类名相同引起争持难点)

3.尽可能地采取命名空间别名限定符(::),而减弱使用点号(.)那样的通用限定符。

二、#Pragma指示符

C语言 1C语言 2代码

        [Obsolete]
        static void Foo() { }
        static void Main(string[] args)
        {
            #pragma warning disable 612
            Foo();
            #pragma warning restore 612
        }

 注意点:

1.脚下Pragma提示符只辅助#Pragma warning

2.#pragma warning disable能够禁掉任何编译器警告音信

3.#pragma warning restore可以过来被disable掉的任何编译器警告音讯。

4.足以在disable和restore前边跟上具体的警示代码号,从而来禁止或者复苏一定的警告音信。

5.#pragma是一个编译器预处理效果,不影响其他代码运行机制。

三、属性访问器的保安级别

C# 2.0同意我们对一个性质的get和set访问器使用分歧的访问级别修饰符:

public string Name
{
C语言,  get { return name; }
  private set { name = value; }
}

 

注意:

1、属性访问器(get或set)上运用的造访修饰符必须”小于”(更严俊),例如:Protected小于Public

2、只好在一个性质访问器(get或set)上指定比属性上访问呢修饰符”更小”的走访呢修饰符。

3、对于接口中属性的扬言,无法给属性访问器(get或set)指定其余访问修饰符,只好默许为Public

4、属性访问器体贴级其余浮动规则完全适用于C#的索引器(然而索引器不可能表明为Static)。

Best Regards,

Charles Chen

http://charles2008.cnblogs.com/