基类中的隐式算子

时间:2017-04-10 12:27:53

标签: c#

我有以下代码:

namespace ConsoleApplication2
{
    public class Test1
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }

        public Test1(string name,string lastName,int age)
        {
            FirstName = name;
            LastName = lastName;
            Age = age;
        }
        //Error:  user-defined conversions to or from a derived class are not allowed 
        public static implicit operator Test2(Test1 d)
        {
            return new Test2(d.FirstName,"MiddleName" , d.LastName, d.Age);
        }
    }
    public class Test2 : Test1
    {
        public string MiddleName { get; set; }

        public Test2(string name,string middleName, string lastName, int age) : base(name, lastName, age)
        {
             MiddleName = middleName;
        }
    }
}

我收到有关转换为派生类的错误。但我不明白为什么不允许转换为派生类?

0 个答案:

没有答案