আমি জেনেরিকের আরও গভীর হয়ে উঠছি এবং এখন এমন একটি পরিস্থিতি রয়েছে যার সাথে আমার সহায়তা প্রয়োজন। বিষয়টির শিরোনামে প্রদর্শিত হিসাবে নীচে 'উত্পন্ন' শ্রেণিতে একটি সংকলন ত্রুটি পেয়েছি। আমি এর সাথে আরও অনেকগুলি পোস্ট দেখতে পাই তবে আমি সম্পর্কটি দেখছি না। কেউ আমাকে কীভাবে সমাধান করবেন তা বলতে পারেন?
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)
{
}
}
}
আমি কোনও সংকলন ত্রুটি পাই না
—
ভিন্স পানুসিও
এই কোডটি ত্রুটিটি দেখায় না। পরিষ্কারভাবে সংকলন।
—
মার্ক Gravell