读书人

关于 操作符重载的

发布时间: 2013-04-02 12:35:26 作者: rapoo

求助 关于 操作符重载的
为什么我重载了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 要是你定义的类型

读书人网 >C#

热点推荐