Tôi đang tìm hiểu sâu hơn về thuốc generic và bây giờ có một tình huống tôi cần giúp đỡ. Tôi nhận được một lỗi biên dịch trên lớp 'Derogen' bên dưới như thể hiện trong tiêu đề chủ đề. Tôi thấy nhiều bài viết khác tương tự như bài này nhưng tôi không thấy mối quan hệ. Ai đó có thể cho tôi biết làm thế nào để giải quyết điều này?
using System;
using System.Collections.Generic;
namespace Example
{
public class ViewContext
{
ViewContext() { }
}
public interface IModel
{
}
public interface IView<T> where T : IModel
{
ViewContext ViewContext { get; set; }
}
public class SomeModel : IModel
{
public SomeModel() { }
public int ID { get; set; }
}
public class Base<T> where T : IModel
{
public Base(IView<T> view)
{
}
}
public class Derived<SomeModel> : Base<SomeModel> where SomeModel : IModel
{
public Derived(IView<SomeModel> view)
: base(view)
{
SomeModel m = (SomeModel)Activator.CreateInstance(typeof(SomeModel));
Service<SomeModel> s = new Service<SomeModel>();
s.Work(m);
}
}
public class Service<SomeModel> where SomeModel : IModel
{
public Service()
{
}
public void Work(SomeModel m)
{
}
}
}