ตอนนี้ฉันมีสถานการณ์ที่ฉันต้องการความช่วยเหลือ ฉันพบข้อผิดพลาดในการคอมไพล์ในคลาส 'Derived' ด้านล่างตามที่แสดงในหัวเรื่อง ฉันเห็นโพสต์อื่น ๆ ที่คล้ายกับโพสต์นี้ แต่ฉันไม่เห็นความสัมพันธ์ มีคนบอกฉันว่าจะแก้ไขได้อย่างไร
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)
{
}
}
}
ฉันไม่ได้รับข้อผิดพลาดในการรวบรวม
—
Vince Panuccio
รหัสนี้ไม่แสดงข้อผิดพลาดนั้น รวบรวมอย่างหมดจด
—
Marc Gravell