无题

在今天遇到一串愚蠢的错误以后,我真的很想说好多遍:C#是傻逼!

反正我的代码一向来你们都说是开玩笑啦- -| 看看就好。

事情是这样:我想写一个某种类模块的公共父类(没人愿意看见一堆模块是一样的代码的吧,何况里面还是反射内容),然后兴冲冲的写完了。

“Error:静态方法不能标记为virtual、override、或是abstract”

上次接口不能标记静态方法就算了,还不能标记为纯虚?去你丫的!模块和静态方法就没有人权么?!

好吧于是我想了一个这样的办法,隐藏掉类的构造函数,然后创建一个唯一实例Instance,子类复写纯虚的Instance的实例方法。

OK,没问题了。不过Instance在哪儿初始化呢?嘛太简单了!静态构造函数嘛!

聪明的人儿,你们已经猜到发生了什么事了,是么?

提示1、静态构造函数

提示2、静态方法不能标记为virtual、override、或是abstract

提示3、子类除了复写纯虚方法以外什么都没有做,外界调用的第一个方法一定是Instance上的一个父类方法。

反正为此我已经死了两天的脑细胞了。

无题》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注