类这样
 
一个拓展类在不修改ClassTimor类基础上,添加一个方法,使用了拓展方法,这没错看出来也成功了。但是我想给ClssTimor ,加上一个静态方法StaticMethod2。
而不是只有一个StaticMethod一个静态方法。在不修改ClassTimor的基础上,该如何增加

解决方案 »

  1.   

    扩展一个静态方法这个还没写过,扩展方法,都是针对另一个类的实体,模拟的是一个成员方法。
    如果你实在要一个静态方法,那么就只能将原来的类给继承下来,继承类里面增加一个静态方法,差不多就是这样了。//最基本的一个类,加入这个类是第三方的,无法被修改
        public class BaseStatic
        {
            public static void Method1()
            {        }
        }
        public class ExStatic : BaseStatic
        {
            //继承一个类,然后多写一个静态方法,倒是没有问题
            public static void Method3()
            {        }
        }
        public static class ThisStatic
        {
            //扩展一个方法,其中的this BaseStatic,代表的是BaseStatic实例,扩展出来的也是成员方法,必须从对象中调用
            public static void Method2(this BaseStatic value)
            {        }
            //这里要扩展一个静态方法,暂时不知道怎么做到。。应该是没办法的
        }    class Program
        {
            static void Main(string[] args)
            {
                //原有方法
                BaseStatic.Method1();
                BaseStatic baseStatic = new BaseStatic();
                //扩展方法
                baseStatic.Method2();
                //继承之后的类,同时有两个静态方法
                ExStatic.Method1();
                ExStatic.Method3();
            }
        }
      

  2.   

    静态方法加不上,建议lz换python、js等动态语言去。
      

  3.   

    就是想给一个类加上 静态方法,不考虑修改,也改不了,unity的类,也不考虑继承 这个类确实有很多静态方法,
    但是我想加一条。
    该如何做