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