Muszę zrobić wykres i chcę krawędzie i wierzchołki być rodzajowy typuPętla typu rodzajowego w C#
public interface IVertex<TVertex, TEdge>
where TVertex : IVertex<?>
where TEdge : IEdge<?>
{
bool AddEdge(TEdge e);
TEdge FindEdge(TVertex v);
}
public interface IEdge<TVertex> where TVertex : IVertex<?>
{
TVertex From { get; }
}
Ale krawędź wymagany typ wierzchołka i vertex wymagany typ krawędzi Co powinienem zrobić?
'TEdge FindEdge (TVertex v);' co robi ta metoda? –
Naprawdę chciałbym, aby ktoś dał obejście tego problemu jako tworzenie nietypowego 'IVertex' nad generycznym' IVertex 'lub dodanie' TItem' do 'IVertex ' ogólne parametry są jedynymi rozwiązaniami, jakie kiedykolwiek miałem spełnione do tej pory. –
bashis
Myślę, że to pytanie wymaga wyjaśnienia, dlaczego chcesz generycznych parametrów typu. Podaj przykład, w którym usunięcie wszystkich 'TVertex'ów i' TEdge's i zastąpienie ich '' IVertex' i 'IEdge' (na sygnaturach metod/właściwości) nie byłoby wystarczające, więc rozumiemy, co próbujesz osiągnąć –