首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于 操作符重载的

2013-04-02 
求助 关于 操作符重载的为什么我重载了System.Type的大于操作符在同一个类中 却无法使用呢?public static

求助 关于 操作符重载的
为什么我重载了System.Type的大于操作符
在同一个类中 却无法使用呢?


public static class OperatorTest
{
        public static bool operator >(Type typeSource, Type typeTarget)
        {
            if (typeTarget.IsAssignableFrom(typeSource)) return true;
            return false;
        }
        public static bool operator >=(Type typeSource, Type typeTarget)
        {
            //typeSource > typeTarget报错了
            return typeSource > typeTarget || 
                   typeTarget == typeSource;
        }
}


[解决办法]
C#下,不能在目标类外面,定义它的操作符。
[解决办法]
你又没给Type重载运算符,当然不能Type类型比较了

 public static bool operator >(OperatorTest typeSource, OperatorTest typeTarget)
        {
            if (typeTarget.IsAssignableFrom(typeSource)) return true;
            return false;
        }
        public static bool operator >=(OperatorTest typeSource, OperatorTest typeTarget)
        {
            typeSource > typeTarget报错了
            return typeSource > typeTarget 
[解决办法]

                   typeTarget == typeSource;
        }
[解决办法]
不要是静态类,?typeSource 要是你定义的类型

热点排行