在我们自己的类中这样定义会产生编译错误:
public class StaticMethod
    {
        public int m_id;
        public StaticMethod(int id) 
        {
            m_id = id;
        }
        public static void WriteId_Static()
        {
            Console.WriteLine(m_id);
        }
        public void WriteId_Instance() 
        {
            Console.WriteLine(m_id);
        }
    }而今天在MSDN查自定义类型转换操作符时,这样定义了:
class Digit
    {
        public Digit(double d) { val = d; }
        public double val;        public static implicit operator double(Digit d)
        {
            return d.val;
        }        public static implicit operator Digit(double d)
        {
            return new Digit(d);
        }
    }
http://msdn.microsoft.com/zh-cn/library/z5z9kes2(v=vs.80).aspx请问这是为什么呢?难道自定义转换操作符不是方法?
在C#中还有没有类似的情况,请前辈们谈一谈,小弟以后编码也好注意。