新足迹

 找回密码
 注册

精华好帖回顾

· 自制豆豉辣椒酱 (2009-11-29) 习习 · 大热天,来点凉凉的..拌米粉 (2008-1-31) bluesummer
· "什么都依着你,也不见得成"---谈做小生意。 (2011-6-17) 靠谱的不多 · 公立中学还是私立学校? (2006-9-29) villa
Advertisement
Advertisement
查看: 1465|回复: 8

为什么会有人说c# static method不能继承? [复制链接]

头像被屏蔽

禁止发言

发表于 2011-10-27 09:54 |显示全部楼层
此文章由 linkspeed 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 linkspeed 所有!转贴必须注明作者、出处和本声明,并保持内容完整
明明可以啊。

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ClassB.MethodStatic();
        }
    }

    public class ClassA
    {
        public static void MethodStatic()
        {
            System.Console.WriteLine("in ClassA");
        }
    }

    public class ClassB : ClassA
    {
    }
}
Advertisement
Advertisement

发表于 2011-10-27 09:57 |显示全部楼层
此文章由 ingeer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ingeer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哈哈。。。。
開會中。。

发表于 2011-10-27 12:24 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
check out this post in StackOverflow

http://stackoverflow.com/questio ... erit-static-classes

发表于 2011-10-27 12:28 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不能override。
头像被屏蔽

禁止发言

发表于 2011-10-27 12:30 |显示全部楼层
此文章由 linkspeed 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 linkspeed 所有!转贴必须注明作者、出处和本声明,并保持内容完整
可以的
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ClassB.MethodStatic();
        }
    }

    public class ClassA
    {
        public static void MethodStatic()
        {
            System.Console.WriteLine("in ClassA");
        }
    }

    public class ClassB : ClassA
    {
        public static void MethodStatic()
        {
            System.Console.WriteLine("in ClassB");
        }
    }
}

2010年度奖章获得者

发表于 2011-10-27 13:37 |显示全部楼层

回复 linkspeed 5# 帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
This is not overwrite mate, it is called "Hide", it's better written with the "new" keyword
In memory it both pointing to it's own "MethodStatic()"

in your lvl1's sample

it is called
This code that accesses a static member of a type via a type that was derived from it
which is just a bad practice. it only gives you the illusion that this method is from ClassB whereas it belongs to ClassA.

If they from different assembiles, you're actually introduced unneed dependency to ClassB which should be avoided.
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
Advertisement
Advertisement

发表于 2011-10-27 14:24 |显示全部楼层
此文章由 无视 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 无视 所有!转贴必须注明作者、出处和本声明,并保持内容完整
forget about static method/class, it's not advised anymore.

评分

参与人数 1积分 +3 收起 理由
jerryclark + 3 感谢分享

查看全部评分

2010年度奖章获得者

发表于 2011-10-27 14:56 |显示全部楼层

I'm almost positive

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
无视 = Luan Ma

评分

参与人数 1积分 +4 收起 理由
atransformer + 4 真的?

查看全部评分

发表于 2011-10-27 14:58 |显示全部楼层

回复 dalaohu 8# 帖子

此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不要点破嘛

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部