我要去跟implentation一个通用的接口,用于处理我的XML: 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() {
希望你有和建议对我来说:)
你没有真正提出问题。这就是说,对泛型使用'typeof'通常是一个代码异味 – 2012-02-06 09:24:41