请问静态函数可以 声明使用自身类的对象 吗?
比如:class A
{
    int parm1  = 0;
    double parm2 = 0;
    DataTable parm3 = null;
    static public A aa(A p)
    {
        p.parm1 = p.bb();
        return p;
    }
    public int bb()
    {
         return 3;
    }
    public void cc()
    {
         this = A.aa(this);//这样写可以吗?
    }
}这样操作会不会有什么弊端?

解决方案 »

  1.   

    this关键字
    用于引用类的当前实例,也包括继承而来的方法
    public class Test
        {
            private string name;
            public Test()
            {
            }
            public Test(string name)
            {
                this.name = name;
            }
    }
      

  2.   

    this指向自己,对类内部是只读的。你无法更改this的指向。
      

  3.   

    新学c#,差点被你弄晕了,p是A类型参数怎么能调用类实例,是不是需要赋值给对象引用先,而且这静态函数不是说不能有访问限定符的么, this只能调用实例或方法,单独不能用吧,引用实例也要把实例带上啊。
      

  4.   

    this不能这样用啊,况且你去定义一个静态的构造函数,还要去自身的类的对象去实例化一下它,晕死~~
      

  5.   


    class A
    {
        int parm1  = 0;
        double parm2 = 0;
        DataTable parm3 = null;
        static public A aa(A p)
        {
            p.parm1 = p.bb();
            return p;
        }
        public int bb()
        {
             return 3;
        }
     }
    这一部分是不是正确的嘛,有没有问题?