Почему нельзя записать неявный оператор из класса Base в производный класс в C#?

public class Derived : BaseClass
{
    public Derived(string name) : base(name) {}

    public static implicit operator BaseClass(Derived derived)
    {
        return new BaseClass(derived.ColorHex);
    }

    public static implicit operator Derived(BaseClass baseclass)
    {
        return new Derived(baseclass.name);
    }
}

Это не сработает. почему это не разрешено?
Я потенциально могунаписать логику, необходимую для того, чтобы она имела смысл, особенно при преобразовании из базы в производную.

ПРАВКА:Изменено название вопроса

5
задан Stéphane 1 June 2012 в 15:38
поделиться