C# - 当实现类型的接口时,不允许我将"this"作为类型返回

Jos*_*eld 0 c#

我有这个:

public class MyClass<T>:  IView
{
        public View View()
        {
            return this;
        }
        public void Render(ViewContext viewContext, System.IO.TextWriter writer)
        {
            // We should cycle though all supported controls and generate HTML for them.
            // What about the validation binding?

            typeof(T).GetFields().ToList<FieldInfo>().ForEach(x => writer.WriteLine(x.FieldType + " is called " + x.Name + "</br>"));           
        }  


}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,它不能隐式地将其转换为View.当我尝试演员时,它失败了.有没有办法做到这一点?为什么会失败?

编辑:添加了查看实施.我在课堂上修剪得太多了.我为没有足够的帖子而道歉.

Meh*_*ari 6

MyClass<T>实例不可转换为View.他们只能兑换成IView.如果你想从View类继承,你应该这样做.实现类似命名的接口并不会奇怪地导致类从您需要的基类型继承:

public class MyClass<T> : View { ... }
Run Code Online (Sandbox Code Playgroud)