class Base where T : Base { public static implicit operator T (Base t) { return (T) t; } } class TestMain { public static void Main (string [] args) { } }