0
我之前提过这个问题,但我不认为我清楚地解释了自己,所以我会再试一次。根据一般情况返回不同的列表
我有以下代码;
public interface IDocumentMerger
{
List<???????> Process();
}
public class EmailMerger : IDocumentMerger
{
public void Process()
{
return new List<MailMessage>();
}
}
public class DocumentMerger<T> where T : IDocumentMerger
{
public T objMerger;
public DocumentMerger()
{
Type t = typeof(T);
objMerger = (T)Activator.CreateInstance(t);
}
public List<???????> Process()
{
return objMerger.Process();
}
}
我想用上面的东西,像这样;
DocumentMerger<EmailMerger> merger = new DocumentMerger<EmailMerger>();
List<MailMessage> messages = merger.Process();
DocumentMerger<SmsMerger> merger = new DocumentMerger<SmsMerger>();
List<SmsMessage> messages = merger.Process();
但我无法弄清楚如何返回一个类型的MAILMESSAGE列表或取决于我是否创建一个DocumentMerger通过INT要么MailMerger或SmsMerger类型SmsMessage的列表。
我想创建一个工厂类型,以便您调用单个对象,并只更改了类型和返回的类型。目标是让其他人轻松地致电 – griegs 2010-07-26 04:03:38
如何使每个类型的新工厂比创建类型更容易? – 2010-07-26 04:39:15