public class Faranheit
{
public float Digree { get; set; }
public Faranheit(float f)
{
Digree = f;
}
public static implicit operator Celcius(Faranheit f)
{
return new Celcius((5.0f / 9.0f) * (f.Digree - 32));
}
public static implicit operator Faranheit(Celcius c)
{
return new Faranheit((9.0f / 5.0f) * c.Digree + 32);
}
}
public class Celcius
{
public float Digree{get;set;}
public Celcius(float c)
{
Digree = c;
}
}
我只是很困惑,将转换方法准确地放在哪里..
即使我将一种方法放在一个类中而将另一种方法放在另一个类中,或者我交换它们,或者即使我将它们都放在两个类中的任何一个中,它也能正常工作。
但是如果我把它放在这两个类之外它就不起作用(编译错误)..
可以请有人对此有所了解..
编辑:
如果它允许转换方法在任何一个类中,为什么不允许转换方法在单独的类中?