Mam następujący interfejs, który zwraca rodzajowego parametr typu T za pomocą zwrotnego ...C# Generics: Jeśli T jest typem zwrotnym, czy może być również nieważne? Jak mogę łączyć te interfejsy?
public interface IDoWork<T>
{
T DoWork();
}
jednak ja też mam następujący interfejs, jak również, ale nie będzie wywołania zwrotnego, ponieważ zwraca void .
public interface IDoWork
{
void DoWork();
}
Czy mogę połączyć te dwa interfejsy i użyć logiki wykonawczej do określenia różnicy? Jak mogę to zrobić?
Szkoda, że nie jesteś w Jawie, ponieważ byłbyś w stanie zrobić coś w stylu "IDoWork ...". Jestem zaskoczony, że C# nie oferuje czegoś takiego. –
@ChrisCashwell, to dlatego, że .NET generics są wbudowane w CLR, podczas gdy w Javie jest to po prostu sztuczka kompilatora (JVM nie wie nic o generycznych w czasie wykonywania). Chociaż jest to zwykle zaleta generycznych .NET, oznacza to również, że zasady są bardziej restrykcyjne ... –
@ThomasLevesque Gdzie mogę dowiedzieć się więcej, w jaki sposób podejście .NET jest przewagą nad Javą? – LamonteCristo