public class BusinessObjects<O>
where O : BusinessObject
{
void SomeMethod()
{
var s = O.MyStaticMethod(); // <- How to do this?
}
}
public class BusinessObject
{
public static string MyStaticMethod()
{
return "blah";
}
}
Esiste un approccio orientato agli oggetti corretto per realizzare questo o sarà necessario ricorrere alla riflessione?Come accedere ai metodi statici dei tipi generici
EDIT: Sono andato troppo lontano nel cercare di semplificare troppo questo per la domanda e ho lasciato fuori un punto importante. MyStaticMethod utilizza la reflection e ha bisogno del tipo derivato per restituire i risultati corretti. Tuttavia, ho appena realizzato un altro difetto nel mio progetto che è che non posso avere un metodo statico virtuale e penso che sia quello di cui avrei bisogno.
Sembra che ho bisogno di trovare un altro approccio a questo problema del tutto.
Guarda qui per ulteriori informazioni: http://stackoverflow.com/q/196661/114029 –
Penso che questa sia una buona domanda. Al momento non può essere fatto in C#. Ma questo sarebbe utile per Microsoft da aggiungere a .Net 5+ – MarzSocks