Sto provando a creare un modulo che animerà qualcosa durante l'elaborazione di una determinata attività (passata come delegato al costruttore). Funziona bene, ma il problema che sto avendo è che non posso istanziare una copia della mia classe generica se il particolare metodo che voglio eseguire ha un tipo di ritorno di vuoto.passaggio vuoto a una classe generica
Capisco che questo è di progettazione e tutto, ma mi chiedo se c'è una soluzione nota per situazioni come questa.
Se aiuta a tutte le mie finestre forma assomiglia così (tagliati per brevità):
public partial class operatingWindow<T> : Form
{
public delegate T Operation();
private Operation m_Operation;
private T m_ReturnValue;
public T ValueReturned { get { return m_ReturnValue; } }
public operatingWindow(Operation operation) { /*...*/ }
}
E io lo chiamo piace:
operatingWindow<int> processing = new operatingWindow<int>(new operatingWindow<int>.Operation(this.doStuff));
processing.ShowDialog();
// ...
private int doStuff()
{
Thread.Sleep(3000);
return 0;
}