说说面向对象的故事,主人是人类!(三)

今天的主角是ref和out这两个参数!

 
Ref和out它们是方法中的参数修饰符,有什么作用呢,其实可以这样理解,它们加上参数后会使用地址进行传递,
说的明白点就是当定义变量a后,把它再作为ref或out参数进行传递到子方法,然后它的计算结果还会返回到这
个变量之中.
#region ref and out reference
    public class RefOrOut
    {
        public void Ref(ref int a)
        {
            a = a + 1;
        }
        public void Out(out int b)
        {
            b = 0;
            b = b + 1;
        }
    }
#endregion
 
调用代码:
RefOrOut refOrOut = new RefOrOut();
            int b;
            int a=0;
            refOrOut.Out(out b);//需要在out方法内部赋初值
            refOrOut.Ref(ref a); //需要在外部为能数赋初值
            Console.WriteLine("ref 参数结果{0}",a);
        Console.WriteLine("out 参数结果{0}",b);
小技术:
   static public class BaseConfigers
    {
static public int DefaultCultureID
        {
            get { return baseConfig.CultureID; }
        }
}
[Serializable]
    public class BaseConfiger : Iconfiger //本类需要序列化
    {
        public int CultureID
        {
            get { return this.cultureID; }
            set { this.cultureID = value; }
        }
}
静态类
静态类相当于一个sealed abstract类,主要的一个优点是写在栈中,安全高速稳定,而且在执行的时候,十分优先。
基本简介

  类可以声明为 static 的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类的实例。静态类在加载

包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR;特指:C#语言) 自动加载。

  使用静态类来包含不与特定对象关联的方法。例如,创建一组不操作实例数据并且不与代码中的特定对象关联的
    方法是很常见的要求。您应该使用静态类来包含那些方法。
主要功能
  它们仅包含静态成员。 
  它们不能被实例化。 
  它们是密封的。 
  它们不能包含实例构造函数)。 
  因此创建静态类与创建仅包含静态成员和私有构造函数的类大致一样。私有构造函数阻止类被实例化。
注意事项
  静态类不能有实例构造器。 

  静态类不能有任何实例成员。 静态类不能使用abstract或sealed修饰符。 静态类默认继承自System.Object根类,

不能显式指定任何其他基类。

  静态类不能指定任何接口实现。 
  静态类的成员不能有protected或protected internal访问保护修饰符。
posted @ 2011-05-26 15:29  张占岭  阅读(513)  评论(0编辑  收藏  举报