: IXmlServiceC#ジェネリックインターフェイス、ジェネリックを実装、型指定されたメソッド
List<T> Load<T>() where T : class;
XmlService
public List<T> Load<T>() where T : class {
Type type = typeof(T);
if (type == typeof(TicketData)) { return XmlTicketService.LoadInternal(); } // Error: Unable to cast from List<TicketData> to List<T>
そして、 XmlTicketService.LoadInternal()は型を認識しており、サービスに戻る必要があります
internal static List<TicketData> LoadInternal() {
List<TicketData> result = new List<TicketData>();
ThreadPool.QueueUserWorkItem(
delegate {
try {
XDocument data = XDocument.Load(_xmlPath);
var query = (from element in data.Root.Descendants("Ticket")
select new TicketData() {
uは私のために持っているとアドバイス:)
あなたは実際に質問をしませんでした。つまり、ジェネリック型に対して 'typeof'を使うのは、一般的にはコードの臭いです。 –